8 _Hayasaka

尚未进行身份认证

我要认证

辉夜大小姐想让我AC~

等级
TA的排名 5w+

Codeforces 25D - Roads not only in Berland(并查集判环)

D. Roads not only in Berlandtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputBerland Government decided to improve relations with neighboring countries. First of all, it was decided to build new roa

2020-10-15 16:09:26

POJ 1847 - Tram(链式前向星存图 + SPFA + 读题)

萨格勒布的电车网络包括许多交叉路口和连接其中一些的铁路。在每个交叉路口,都有一个开关指向离开交叉路口的一条导轨。有轨电车进入交叉路口时,只能沿开关指向的方向离开。如果驾驶员想走其他路线,则必须手动更改开关。当驾驶员确实从交叉路口A到交叉路口B行驶时,他/她试图选择一条路线,该路线将最大限度地减少他/她将不得不手动更改开关的次数。编写一个程序,计算从路口A到路口B所需的最少开关变化次数。Input输入的第一行包含整数N,A和B,以单个空白字符分隔,2 <= N <= 100,1 <=

2020-09-17 20:27:30

LightOJ 1074 - Extended Traffic(spfa判负环 + dfs染色 + 最短路)

这一晚,TT 做了个美梦!在梦中,TT 的愿望成真了,他成为了喵星的统领!喵星上有 N 个商业城市,编号 1 ~ N,其中 1 号城市是 TT 所在的城市,即首都。喵星上共有 M 条有向道路供商业城市相互往来。但是随着喵星商业的日渐繁荣,有些道路变得非常拥挤。正在 TT 为之苦恼之时,他的魔法小猫咪提出了一个解决方案!TT 欣然接受并针对该方案颁布了一项新的政策。具体政策如下:对每一个商业城市标记一个正整数,表示其繁荣程度,当每一只喵沿道路从一个商业城市走到另一个商业城市时,TT 都会收取它们(目的地

2020-09-17 20:16:29

POJ 3159 - Candies(链式前向星 + 堆优化dijksta)

在幼儿园的时候,Flymouse是班上的班长。有时班主任会给班上的孩子们带来一大袋糖果,让他们分发。所有的孩子都非常喜欢糖果,经常比较他们和别人买的糖果的数量。一个孩子A可以有这样的想法,尽管可能是另一个孩子B在某些方面比他好,因此他有理由比他应得更多的糖果,但无论他实际得到多少糖果,他都不应该得到比B少的一定数量的糖果,否则他会感到不满意。 Flymouse总是把他的糖果和snoopy的比较,他想在让每个孩子都满意的同时,尽可能使自己的糖比snoopy的多。现在他又从班主任那里得到了一袋糖果,他最多能比s

2020-09-17 19:52:03

POJ 1511 - Invitation Cards(链式前向星 + 反向图最短路)

Descriptionn-1个人从1号点出发,到剩余n-1个宣传点,然后再回到1号点汇报结果,求所有人往返路径和的最小值Input输入由T个案例组成。输入的第一行只包含正整数T。接下来是N和M,1 <= N,M <= 1000000,表示N个点和连接N个点的M条边。然后有M行,每行包括三个值U,V,W,表示从点U到点V需要W的路程。你可以假设该图连通。注意是单向通道!!!Output对于每个案例,打印一行,表示路径总和的最小值。Sample Input22 21 2 13

2020-09-17 19:47:00

POJ 1502 - MPI Maelstrom(链式前向星 + dijkstra模板题)

由于叛徒朱子明的出卖,导致独立团在赵家峪的团部驻军在团长李云龙大婚之日几乎全军覆没,突出重围之后,李云龙决定集合所有驻扎在外的部队,使用重型武器意大利炮攻打平安县城,消息从团部传出之后到达各部驻地之后,驻地长官会派出自己的通讯人员通知其他驻地部队,自团部派人传达命令开始,至少经过多长时间才能使得所有驻扎在外的部队受到命令。(假设通讯员在路上不会遭遇任何意外)Input第一行输入一个n,表示包括团部在内有多少不同的驻军(团部当然是编号为1了)。随后n-1行,以邻接矩阵的形式给出各驻军(1 ~ n)之间派

2020-09-17 19:40:39

POJ 1860 - Currency Exchange(SPFA判正环)

我们的城市有几个货币兑换点。让我们假设每一个点都只能兑换专门的两种货币。可以有几个点,专门从事相同货币兑换。每个点都有自己的汇率,外汇汇率的A到B是B的数量你1A。同时各交换点有一些佣金,你要为你的交换操作的总和。在来源货币中总是收取佣金。 例如,如果你想换100美元到俄罗斯卢布兑换点,那里的汇率是29.75,而佣金是0.39,你会得到(100 - 0.39)×29.75=2963.3975卢布。 你肯定知道在我们的城市里你可以处理不同的货币。让每一种货币都用唯一的一个小于N的整数表示。然后每个交换点,可以

2020-09-17 19:31:04

POJ 2240 - Arbitrage(map + SPFA判正环)

Input套利是指利用货币汇率的差异,将一种货币的一个单位转换为同一货币的多个单位。例如,假设1美元买0.5英镑,1英镑买10.0法国法郎,1法国法郎买0.21美元。然后,通过兑换货币,聪明的交易者可以从1美元开始,购买0.5 x 10.0 x 0.21 = 1.05美元,获得5%的利润。您的工作是编写一个程序,以货币汇率列表作为输入,然后确定是否可能进行套利。Output输入将包含一个或多个测试用例。每个测试用例的第一行有一个整数n (1<=n<=30),表示不同货币的数量。接

2020-09-17 17:56:51

POJ 3259 - Wormholes(SPFA判负环)

题目描述教学楼里有很多教室,这些教室由双向走廊连接。另外,还存在一些单向的秘密通道,通过它们可以回到过去。现在有 N (1 ≤ N ≤ 500) 个教室,编号 1…N, M (1 ≤ M ≤ 2500) 条走廊,和 W (1 ≤ W ≤ 200) 条秘密通道。DY在养猫之余,还是一个时间旅行爱好者。她希望从一间教室出发,经过一些走廊和秘密通道,回到她出发之前的某个时间。共有F (1 ≤ F ≤ 5) 组数据。对每组数据,判断DY是否有回到过去的可能性。不存在耗时超过10,000秒的走廊,且不存在能带D

2020-09-15 20:37:00

ACwing 282 - 石子合并(区间DP)

设有N堆石子排成一排,其编号为1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有4堆石子分别为 1 3 5 2, 我们可以先合并1、2堆,代价为4,得到4 5 2, 又合并 1,2堆,代价为9,得到9 2 ,再合并得到11,总代价为4+9+11=24;如果第二步是先合并2,3堆,则代价为7,得到4 7,

2020-09-14 20:57:39

ACwing 902 - 最短编辑距离(最长上升子序列模型)

给定两个字符串A和B,现在要将A经过若干操作变为B,可进行的操作有:删除–将字符串A中的某个字符删除。插入–在字符串A的某个位置插入某个字符。替换–将字符串A中的某个字符替换为另一个字符。现在请你求出,将A变为B至少需要进行多少次操作。输入格式第一行包含整数n,表示字符串A的长度。第二行包含一个长度为n的字符串A。第三行包含整数m,表示字符串B的长度。第四行包含一个长度为m的字符串B。字符串中均只包含大写字母。输出格式输出一个整数,表示最少操作次数。数据范围1 ≤ n,m ≤

2020-09-13 21:24:24

ACwing 897 - 最长公共子序列(线性dp 最长上升子序列模型)

给定两个长度分别为N和M的字符串A和B,求既是A的子序列又是B的子序列的字符串长度最长是多少。输入格式第一行包含两个整数N和M。第二行包含一个长度为N的字符串,表示字符串A。第三行包含一个长度为M的字符串,表示字符串B。字符串均由小写字母构成。输出格式输出一个整数,表示最大长度。数据范围1 ≤ N,M ≤ 1000输入样例:4 5acbdabedc输出样例:3题目大意:输入两个字符串的长度,然后输入两个字符串,输出两个字符串最长公共子序列。解题思路:状态表示: 用二维

2020-09-13 20:17:05

ACwing 895 - 最长上升子序列(最长上升子序列模型)

给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数N。第二行包含N个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1 ≤ N ≤ 1000,−109 ≤ 数列中的数 ≤ 109输入样例:73 1 2 1 8 5 6输出样例:4题目大意:输入一个 n ,第二行有 n 个数,输出最长上升子序列的长度。解题思路:动态规划之最长上升子序列模型,要求输出最长上升子序列的长度,从两方面入手:状态表示: 用一维表示状态 f[i

2020-09-13 18:31:30

ACwing 898 - 数字三角形(数字三角形模型)

给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 44 5 2 6 5输入格式第一行包含整数n,表示数字三角形的层数。接下来n行,每行包含若干整数,其中第 i 行表示数字三角形第 i 层包含的整数。输出格式输出一个整数,表示最大的路径数字和。数据范围1 ≤ n ≤

2020-09-13 18:16:50

POJ 3268 - Silver Cow Party(链式前向星正反建图 + 两次最短路spfa)

来自 N (1 ≤ N ≤ 1000)个农场的奶牛的编号分别为1,2, … ,N。现在在农场 X (1 ≤ X ≤ N) 举行聚会。总共有 M (1 ≤ M ≤ 100,000) 条单向通道。路 i 需要时间 Ti 才能通过。每头牛都需要参加聚会并返回,而且它们均选择花费时间最短的路线。问:在所有的奶牛中,所花费的最长时间为多少?Input第一行包含三个整数N,M,X。在接下来的M行中,每行都包括三个整数A,B和T,表示从农场A到B需要花费时间T。Output输出奶牛所花的最大时间。Sampl

2020-09-13 17:08:55

组合数的四种情况及解法

组合数C(a, b)意为从 a 个物品中选 b 个物品的所有方案数。公式:a ! / b ! (a - b) !有时会涉及到 mod p,本文将介绍a b p在不同范围下的组合数求法,这里列举 4 种情况。情况一:给定 n 组询问,每组询问给定两个整数 a,b ,请你输出 C(a, b) mod (109+7) 的值。输入格式第一行包含整数 n 。接下来 n 行,每行包含一组 a 和 b 。输出格式共 n 行,每行输出一个询问的解。数据范围1≤n≤10000 ,1≤b≤a≤2000

2020-09-04 19:58:36

AcWing 883 - 高斯消元解线性方程组(高斯消元)

输入一个包含n个方程n个未知数的线性方程组。方程组中的系数为实数。求解这个方程组。下图为一个包含m个方程n个未知数的线性方程组示例:输入格式第一行包含整数n。接下来n行,每行包含n+1个实数,表示一个方程的n个系数以及等号右侧的常数。输出格式如果给定线性方程组存在唯一解,则输出共n行,其中第i行输出第i个未知数的解,结果保留两位小数。如果给定线性方程组存在无数解,则输出“Infinite group solutions”。如果给定线性方程组无解,则输出“No solution”。数据范

2020-09-02 18:46:17

ACwing 257 - 关押罪犯(二分答案 + 二分图染色)

S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 c 的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到 S 城 Z 市长那里。公务繁忙的 Z 市长只会去看列表

2020-08-24 17:14:10

ACwing 861 - 二分图的最大匹配(匈牙利算法)

给定一个二分图,其中左半部包含n1个点(编号1 - n1),右半部包含n2个点(编号1 - n2),二分图共包含m条边。数据保证任意一条边的两个端点都不可能在同一部分中。请你求出二分图的最大匹配数。二分图的匹配:给定一个二分图G,在G的一个子图M中,M的边集{E}中的任意两条边都不依附于同一个顶点,则称M是一个匹配。二分图的最大匹配:所有匹配中包含边数最多的一组匹配被称为二分图的最大匹配,其边数即为最大匹配数。输入格式第一行包含三个整数 n1、 n2 和 m。接下来m行,每行包含两个整数u和v

2020-08-23 11:37:25

ACwing 860 - 染色法判断二分图(染色法)

给定一个n个点m条边的无向图,图中可能存在重边和自环。请你判断这个图是否是二分图。输入格式第一行包含两个整数n和m。接下来m行,每行包含两个整数u和v,表示点u和点v之间存在一条边。输出格式如果给定图是二分图,则输出“Yes”,否则输出“No”。数据范围1≤ n,m≤ 105输入样例:4 41 31 42 32 4输出样例:Yes题目大意:输入n m 表示n 个顶点 m 条边,可能有重边和自环。判断该图是不是一个二分图。解题思路:判断一个图是否是二分图,判断是否存在奇

2020-08-23 11:21:17

查看更多

勋章 我的勋章
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。