自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

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

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

2020-09-17 20:27:30 229

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

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

2020-09-17 20:16:29 280

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

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

2020-09-17 19:52:03 109

原创 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 139

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

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

2020-09-17 19:40:39 211

原创 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 172

原创 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 138

原创 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 155

原创 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 192

原创 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 140

原创 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 222

原创 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 189

原创 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 278

原创 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 100

原创 组合数的四种情况及解法

组合数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 1359 2

原创 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 329

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除