最短路
FuTaimeng
好像有人说我冰雪聪明~~~
展开
-
Low Cost Air Travel UVALive - 3561
Low Cost Air Travel UVALive - 3561图论·最短路题目大意:有一些联票,每张票有一些站,每张票你只能从头开始乘,不能不能中途上或者下。现在有一些行程,要按顺序去一些地方。问你怎么样乘花费最小。输出最小值和路径。题解:由于联票的存在,不能用相邻两个城市的最短路求和了,因为几个连续的城市可能在用同一张联票。 解决方法是把当前已经走了行程单上的前pos个城市作为状态的一部分原创 2017-05-23 08:30:43 · 384 阅读 · 0 评论 -
[USACO13OPEN]重力异常What's Up With Gravity
[USACO13OPEN]重力异常What’s Up With Gravity最短路题解:按要求模拟,跑最短路。Code:#include <iostream>#include <cstring>#include <cstdio>#include <queue>using namespace std;const int N = 505;const int INF = 0x3f3f3f3f原创 2017-10-04 15:33:49 · 452 阅读 · 0 评论 -
graph - hzw模拟赛Test13
graph - hzw模拟赛Test13Dp题解:注意到,如果按照要求走,这个图是没有环的!然而我一开始并没有注意到这一点(或者是没仔细往下想),去写spfa了。。。简单说一下我2s+的spfa,就是d[i][j]表示在i这个点,上一条边距离为j的最长路径的边数。注意到一个点均摊只有O(1)个有用状态,因此可以把j表示成能到达i点的第j大的边,另外开一个vector保存具体长度是几。当然d和vis也原创 2017-10-18 20:32:36 · 265 阅读 · 0 评论 -
BZOJ2118: 墨墨的等式
BZOJ2118: 墨墨的等式完全背包求可行方案数题解:http://blog.csdn.net/lych_cys/article/details/50804776核心思想:设其中最小的w是p,设d[i]表示总重量%p=i的最小重量。 放入一个重量为w的物品时,d[i]+w去更新d[(i+w)%p],最短路即可。另外p不取最小的w正确性没有影响,就是点数多了。Code:#include <iost原创 2017-09-04 12:00:25 · 272 阅读 · 0 评论 -
Steam Roller UVALive - 4128
Steam Roller UVALive - 4128图论·最短路题目大意:给你一张格子图,r根横线,c根竖线。告诉你起点和终点,然后从起点走,每条边有权值,如果是0,就表示无法通行。走的规则是(通俗点):车子的惯性比较大,如果你在下个路口要转弯,那么后半段就开慢了,好转弯,转弯完了之后,你要加速,那么前半段就慢了,这两种情况都会使这段路的时间加倍,但是如果一条路同时是这样,那么也只算两倍。起点这终原创 2017-05-22 20:01:41 · 307 阅读 · 0 评论 -
Travel in Desert UVA - 10816
Travel in Desert UVA - 10816图论·生成树·最短路 http://blog.csdn.net/weizhuwyzc000/article/details/50674893题目大意:有n个绿洲, m条道路,每条路上有一个温度,和一个路程长度,从绿洲s到绿洲t,求一条道路的最高温度尽量小, 如果有多条, 选一条总路程最短的。题解:按温度跑最小生成树,当s和t连通的时候当前转载 2017-05-26 19:17:33 · 239 阅读 · 0 评论 -
Flying to Fredericton UVA - 11280
Flying to Fredericton UVA - 11280图论·最短路 http://blog.csdn.net/murmured/article/details/18896725题目大意:给出n(2<=n<=100)个城市之间的m(0<=m<=1000)条航线以及对应的机票价格,要求回答一些询问,每个询问是给出最大停留次数S,求从其实城市Calgary到终点城市Fredericton转载 2017-05-26 11:22:28 · 236 阅读 · 0 评论 -
Full Tank? UVA - 11367
Full Tank? UVA - 11367图论·最短路题目大意:n个点m条无向边的图,每个单位的汽油能走1单位距离,每个城市的油价p[i],油箱有上限c, 对于每个询问,求s到t的最小花费。题解:d[u][oilu]在d这个点剩余油量为oilu的最小花费。 只要油还够,就可以向与它相连的v转移,d[v][oilu-w(u,v)] 注意如果直接枚举加多少油会T。 因此每次只加一格油,也就是只+原创 2017-05-26 09:35:56 · 236 阅读 · 0 评论 -
Adventure of Super Mario UVA - 10269
Adventure of Super Mario UVA - 10269图论·最短路 http://blog.csdn.net/keshuai19940722/article/details/16920629题目大意:马里奥就出桃子之后,要返回自己所居住的村子标号为1,给出A 和 B表示有A个村子和B个城堡,大魔王所居住的城堡A + B,1 ~A为村子,A + 1 ~ B为城堡。现在有m条路,转载 2017-05-26 09:05:32 · 279 阅读 · 0 评论 -
Fill UVA - 10603
Fill UVA - 10603图论·最短路题目大意:有3个没有刻度的水壶,容量分别为a,b,c(均不超过200的正整数)。初始时候前两个水壶空,第三个装满了水。每次可以从一个水壶往另一个水壶倒水,直到其中一个水壶倒空或者另一个水壶倒满。为了使某个水壶恰好有d升水,至少要倒多少升的水?如果无解,则找一个小于且最接近于d的d’代替。输出要求输出至少倒多少升水 和 d(d’)题解:优先队列+bfs即可。原创 2017-05-25 21:29:49 · 207 阅读 · 0 评论 -
[USACO13DEC]假期计划(黄金)Vacation Planning (gold)
[USACO13DEC]假期计划(黄金)Vacation Planning (gold)最短路题解:luogu上的题面简直无可挑剔! 建议大家看英文。所有的边都是和关键点相连的,并且关键点只有200个。 因此跑一下关键点到每个点的最短路。 询问的时候,如果a是关键点就直接查表, 否则a走一步一定是一个关键点,还是查表。Code:#include <iostream>#include <cs原创 2017-10-05 08:40:53 · 540 阅读 · 0 评论