图论-最短路
lab104_yifan
这个作者很懒,什么都没留下…
展开
-
UVA 10269 - Adventure of Super Mario(最短路 + dp)
Problem AAdventure of Super MarioInput: Standard InputOutput: Standard OutputAfter rescuing the beautiful princess, Super Mario needs to find a way home -- with the princess of course :-原创 2013-11-27 15:41:14 · 2296 阅读 · 0 评论 -
UVA 10537 - The Toll! Revisited(dijstra扩展)
UVA 10537 - The Toll! Revisited题目链接题意:给定一个无向图,大写字母是城市,小写字母是村庄,经过城市交过路费为当前货物的%5,路过村庄固定交1,给定起点终点和到目标地点要剩下的货物,问最少要带多少货物上路,并输出路径,如果有多种方案,要求字典序最小思路:dijstra的逆向运用,d数组含义变成到该结点至少需要这么多货物,然后反向建图,从终点向原创 2014-09-02 23:41:53 · 2041 阅读 · 0 评论 -
UVA 11090 - Going in Cycle!!(Bellman-Ford)
UVA 11090 - Going in Cycle!!题目链接题意:给定一个有向图,球平均权值最小的回路思路:二分+判负环,每次二分一个值mid,判断是否存在小于mid的环,那么就是(w1 + w2 + w3...) / n 代码:#include #include #include #include #include using namespa原创 2014-09-03 00:09:53 · 1764 阅读 · 0 评论 -
UVA 1048 - Low Cost Air Travel(最短路)
UVA 1048 - Low Cost Air Travel题目链接题意:给定一些联票,在给定一些行程,要求这些行程的最小代价思路:最短路,一张联票对应几个城市就拆成多少条边,结点表示的是当前完成形成i,在城市j的状态,这样去进行最短路,注意这题有坑点,就是城市编号可能很大,所以进行各种hash代码:#include #include #include原创 2014-09-26 21:21:12 · 1741 阅读 · 0 评论 -
UVA 11280 - Flying to Fredericton(最短路)
UVA 11280 - Flying to Fredericton题目链接题意:给定一些国家,和两个国家间的花费,现在有一些询问,询问每次最多转k次飞机,最小花费思路:dijkstra变形,多开一维表示转机次数即可代码:#include #include #include #include #include #include #include原创 2014-09-24 23:50:26 · 1303 阅读 · 0 评论 -
UVA 10917 - Walk Through the Forest(dijstra)
UVA 10917 - Walk Through the Forest题目链接题意:公司编号为1,家编号为2,每次回家都不走回头路,回头路定义为:满足条件的道路(A,B),满足存在一条从B出发比所有从A出发的回家的路径都短,问有几种走法思路:先从家求dijstra,这样满足条件的道路就是d[A] > d[B],这个图是一个dag,在上面进行dp就可以找出种数了代码:原创 2014-09-02 15:33:04 · 861 阅读 · 0 评论 -
UVA 1416 - Warfare And Logistics(最短路树)
UVA 1416 - Warfare And Logistics题目链接题意:给定一个无向图,每个边一个正权,c等于两两点最短路长度之和,现在要求删除一边之后,新图的c值最大的是多少思路:直接枚举删边,每次做一次dijkstra的话复杂度太高,其实如果建好最短路树,如果删去的边在最短路树上,才需要去做,这样复杂度就优化到(n^2mlog(n)),勉强可以接受代码:原创 2014-09-02 17:05:48 · 1201 阅读 · 0 评论 -
UVA 1078 - Steam Roller(最短路)
UVA 1078 - Steam Roller题目链接题意:给定一个地图,要求起点走到终点需要的时间,如果进入一个转弯位置,则进入和出去的时候时间要加倍思路:最短路,关键在于如何建模,每个结点d[x][y][d][flag]表示在x, y结点,方向为d,是否加倍过了,这样就可以把每个结点之间对应的关系建边,做最短路即可代码:#include #includ原创 2014-09-26 19:30:01 · 1681 阅读 · 0 评论 -
UVA 10246 - Asterix and Obelix(最短路)
UVA 10246 - Asterix and Obelix题目链接题意:给定一个图,每个点有一个代价,边有一个代价,现在有q次询问,每次询问从u到v的最小花费,花费的计算方式为,路径代价加上路径上最大代价结点的代价思路:枚举最大代价结点,然后做dijkstra,做的过程中忽略掉比枚举点更大代价的点,然后更新所有的答案,预处理完成后每次询问就可以在O(1)时间内完成了原创 2014-09-24 19:39:53 · 1502 阅读 · 0 评论 -
UVA 11478 - Halum(差分约束+最短路)
UVA 11478 - Halum题目链接题意:给定一个有向图,每次操作可以选择一个结点,把以这个点为起点的边权值+d,以这个边为终点的-d,问经过操作后,能得到的边权最小的最大值是多少,并且要判但是否无穷大或无解思路:转化为差分约束,设一条边,他增加的权值为sum(u)减少了sum(v),那么二分答案x,得到一个不等式sum(u) - sum(v) + w(u, v) >原创 2014-09-03 10:29:40 · 963 阅读 · 0 评论 -
POJ 3114 Countries in War(强连通+最短路)
POJ 3114 Countries in War题目链接题意:给定一个有向图,强连通分支内传送不需要花费,其他有一定花费,每次询问两点的最小花费思路:强连通缩点后求最短路即可代码:#include #include #include #include #include #include using namespace std;const i原创 2014-10-21 17:19:05 · 1196 阅读 · 0 评论 -
HDU 3072 Intelligence System(强连通+最小树形图)
HDU 3072 Intelligence System题目链接题意:给定有向图,边有权值,求保留一些边,从一点出发,能传递到其他所有点的最小代价,保证有解思路:先缩点,然后从入度为0的点作为起点(因为题目保证有解,所以必然有一个且只有一个入度为0的点),然后做一下最小树形图即可代码:#include #include #include #includ原创 2014-10-21 17:03:16 · 949 阅读 · 0 评论 -
POJ 1556 The Doors(计算几何+最短路)
这题就是,处理出没两个点,如果可以到达,就连一条边,判断可不可以到达,利用线段相交去判断即可,最后求个最短路即可代码:#include #include #include #include #include using namespace std;#include #include #include #include using namespace std;str原创 2015-03-19 21:35:36 · 920 阅读 · 0 评论 -
UVA 11374 - Airport Express(dijstra)
UVA 11374 - Airport Express题目链接题意:给定一些经济线,和一些商务线,商务线最多坐一次,每个线有一个时间,问最短时间思路:从起点,终点各做一次dijstra,然后枚举商务线,就可以算出总时间,最后求出总时间最少代码:#include #include #include #include using namespace st原创 2014-09-02 14:24:57 · 1017 阅读 · 0 评论 -
UVA 11367 - Full Tank?(最短路+DP)
UVA 11367 - Full Tank?题目链接题意:给定一个无向图,每个点有一个加油站,有一个油价,现在一辆车,每次询问要从起点s走到t,邮箱容量为c,问最小代价思路:dijkstra算法,d数组多一个状态,表示当前油量即可不过这题如果每次都把所有状态转移完,挺费时间的,卡着时间过的后面改成每次1升1升加油去转移状态,效率会比较快,因为有很多无用状态可以省原创 2014-09-12 22:49:53 · 1754 阅读 · 0 评论 -
UVA 10968 - KuPellaKeS(BFS)
UVA 10968 - KuPellaKeS题目链接题意:给定一个图,要求把这个图删掉一些边后,使得他所以有点度数为不等于0的偶数,保证图一开始最多只有最多2个奇数度数结点思路:对于有奇数点的情况,肯定从奇数点找到到另一个奇数点,途中不能路过度数为2的点,把这些边删掉就是答案,这样就相当于求最小距离,然后注意特殊情况,就是奇数点度数为1和一开始就有度数为0的情况代码原创 2014-08-28 20:43:30 · 1157 阅读 · 0 评论 -
UVA 10801 - Lift Hopping(dijkstra)
Problem ?Lift HoppingTime Limit: 1 secondTed the bellhop: "I'm coming up and if there isn'ta dead body by the time I get there, I'll make onemyself. You!"Robert Rodriguez原创 2013-11-27 18:02:13 · 1472 阅读 · 0 评论 -
UVA 10986 - Sending email(最短路 优先队列的优化+Bellman-Ford)
Problem ESending emailTime Limit: 3 seconds"A new internet watchdog is creating a stir inSpringfield. Mr. X, if that is his real name, hascome up with a sensational scoop."原创 2013-11-27 20:23:01 · 1574 阅读 · 0 评论 -
UVA 104 - Arbitrage(floyd变形)
Arbitrage BackgroundThe use of computers in the finance industry has been marked with controversy lately as programmed trading -- designed to take advantage of extremely small fluctu原创 2013-11-27 21:59:57 · 1338 阅读 · 0 评论 -
UVA 125 - Numbering Paths(floyd)
Numbering Paths BackgroundProblems that process input and generate a simple ``yes'' or ``no'' answer are called decision problems. One class of decision problems, the NP-complete pro原创 2013-11-28 15:41:43 · 1122 阅读 · 0 评论 -
UVA 10803 - Thunder Mountain(floyd)
Problem ?Thunder MountainTime Limit: 3 seconds"I mean, some people got guns, and somepeople got flashlights, and some people got batteries. These guys had all three."J. M原创 2013-11-28 20:58:43 · 1847 阅读 · 0 评论 -
UVA 515 - King (SPFA)
King Once, in one kingdom, there was a queen and that queen was expecting a baby. The queen prayed: ``If my child was a son and if only he was a sound king.'' After nine months her child原创 2013-11-29 13:48:18 · 1257 阅读 · 0 评论 -
UVA 558 - Wormholes (SPFA判断负环)
Wormholes In the year 2163, wormholes were discovered. A wormhole is a subspace tunnel through space and time connecting two star systems. Wormholes have a few peculiar properties:原创 2013-11-27 21:04:44 · 1130 阅读 · 0 评论 -
UVA 658 - It's not a Bug, it's a Feature!(最短路)
It's not a Bug, it's a Feature! It is a curious fact that consumers buying a new software product generally do not expect the software to be bug-free. Can you imagine buying a car whose原创 2013-11-30 21:53:01 · 1330 阅读 · 0 评论 -
UVA 10985 - Rings'n'Ropes(floyd)
Problem DRings'n'RopesTime Limit: 3 seconds"Well, that seems to be the situation. But,I don't want that, and you don't want that,and Ringo here definitely doesn't want that."原创 2013-12-02 20:42:30 · 1026 阅读 · 0 评论 -
UVA 436 - Arbitrage (II)(floyd)
UVA 436 - Arbitrage (II)题目链接题意:给定一些国家货币的汇率,问能否通过不断换货币使钱得到增长思路:floyd,完事后判断一下有没有连到自己能大于1的情况代码:#include #include #include #include #include using namespace std;const int N = 35原创 2014-08-28 00:34:13 · 1452 阅读 · 0 评论 -
UVA 10457 - Magic Car(最小瓶颈路)
UVA 10457 - Magic Car题目链接题意:m条路,每条路上必须维持速度v,现在有一辆车,启动能量和结束能量为a, b,途中消耗能量为经过路径最大速度减去最小速度,现在每次循环给定起点终点,问最小能量花费思路:最小瓶颈路,利用kruskal去搞代码:#include #include #include using namespace std原创 2014-08-28 14:30:09 · 1369 阅读 · 0 评论 -
UVA 10816 - Travel in Desert(二分+dijkstra)
UVA 10816 - Travel in Desert题目链接题意:沙漠中有一些道路,每个道路有一个温度和距离,要求s,t两点间的一条路径,满足温度最大值最小,并且长度最短思路:二分温度,然后dijstra求长度即可代码:#include #include #include #include using namespace std;const原创 2014-09-11 19:37:33 · 903 阅读 · 0 评论 -
SGU 103 Traffic Lights(最短路)
这题不错,是一个最短路,但是中间有一个限制条件,就是等待时间首先先看一下为什么仍然满足最短路因为最短路肯定是每个结点求出最早到达的时间,那么其实不管有没等待,从队头取出去转移的肯定是最早的时间,仍然满足转移那么就是等待时间如何去计算的问题其实就先写一个函数,获得当前的颜色,和到下一个颜色的时间然后如果颜色相同就不用等如果颜色不同,到下一个颜色时间又不同,就返回其中小的时间原创 2015-04-22 10:44:55 · 617 阅读 · 0 评论