
最短路
文章平均质量分 60
HelloWorld10086
追随大神的脚步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UVA - 567 Risk (floyd算法)
题目大意: 从i = 1 到 i = 19,第 i 行先输入一个数字n,代表有n个数字,后面跟着的数字都代表与 i 点直接连接的点,且他们的距离为1。 后面输入m,代表有多少对点,要求输出这些点对的最短距离。 程序以m为文件末结束。 解析:题目比较难以理解,这道题是求图里任意两点的最短路的长度并且输出,用floyd算法套这题。 #include #include #include原创 2014-11-13 20:04:25 · 854 阅读 · 0 评论 -
UVA 658 - It's not a Bug, it's a Feature!(dijkstra+优先队列)
题意: 某个软件有n个漏洞m的补丁,而每个补丁修复漏洞有前提条件,即有些漏洞必须存在或不存在,每个补丁的修复时间各不相同,现在有n个漏洞,让你求出把这n个漏洞全部修复所花的最少时间。 解析: 这个题目可以转化为最短路的模型来求解。由n个1或0来表示bug,我们很容易联想要二进制和十进制的转化,对于当前的bug状态,我们可以转化为1个十进制来表示,那么一开始的状态显然就是2^n-1,目标状态就原创 2015-07-14 11:46:29 · 823 阅读 · 0 评论 -
uva 515 King(差分约束)
题意: 问是否存在一个序列,是的这个序列从 si ~ si+n 的和满足某个条件。求是否存在这样一个序列满足所有的约束条件。 解析: 差分约束系统: 如果一个系统由n个变量和m个约束条件组成,其中每个约束条件形如xj-xi 差分约束可以转化话单源最短路求解。 然后我们先来设定一个值Xi,Xi=a1+a2+a3……+ai ; 所以输入中是给出一个下标i和长度l,连续的子原创 2015-03-02 19:49:39 · 641 阅读 · 0 评论 -
UVA - 10099 The Tourist Guide (floyd+dp)
题目大意: 有一个导游,要带领团队从当前点,走到目标点,但是每条路一次性通过的人有数量限制,所以需要分批次进行。问最少需要分多少次进行。 那么每次可以运输的人数由当前路程,最小的可以通过的人数决定。 注意:题目有说,每次导游要占用巴士的一个位置。 那么 运行次数 = ceil(总人数 / (当前运输最多人数-1) ); 解析:最短路问题的改编。 求最小边的最大值的方程为: d原创 2014-11-19 19:55:22 · 867 阅读 · 0 评论 -
UVA - 558 Wormholes (Bellman-ford)
题目大意: 在公元2163年,人类发现了虫洞,虫洞是连接时间和两个星系的隧道。 于是就有些疯狂的科学家题意,要穿越到时间的尽头,看宇宙大爆炸。 现在给你n个点和m条边,没条边都有两个端点和一个权值。 如果权值 > 0,就表示这个虫洞,能穿越到未来。 权值 现在问你科学家能否穿越到时间的尽头,看宇宙大爆炸。 解析: 最近很流行的电影《时空穿越》,讲的就是人类从一个星系穿越到另一原创 2014-11-22 10:55:12 · 792 阅读 · 0 评论 -
UVA - 10048 Audiophobia (floyd+dp)
题目大意:求所有可达路径中最大值最小的一条路,并输出去其最大值。 ju 让我们来看一个例子,看下图: 图中红色的数字代表边的权重。如果我们在最内层检查所有节点X,那么对于A->B,我们只能发现一条路径,就是A->B,路径距离为9。而这显然是不正确的,真实的最短路径是A->D->C->B,路径距离为6。造成错误的原因就是我们把检查所有节点X放在最内层,造成过早的把A到B的最短路径确原创 2014-11-15 15:15:59 · 690 阅读 · 0 评论 -
UVA - 10986 Sending email (Dijkstra邻接表+优先队列优化)
题目大意: 给一个图, 求从s点到t点的最小距离。 解析: 赤裸裸的最短路,但n太大显然是不能用邻接矩阵的,需要对Dijkstra用邻接表+优先队列优化。 这里我把Dijkstra的邻接表+优先队列的方法封装成了一个类,感觉挺好用的。原创 2014-11-22 08:46:48 · 839 阅读 · 0 评论 -
UVA - 10801 Lift Hopping (Dijkstra)
题意: 有一栋楼100层,从0到99编号层数,有多部电梯(最多5部),给出每部每部电梯的速度,即上或下一层楼所用的秒数。 然后每部电梯不一定在所有楼层出现,给你所有电梯可能出现的层数。给你一个目标层,要你从0层开始到目标层,问所用时间最短。在0层的时候选择做哪步电梯出发不需要时间的,但是在中间的楼层,想换电梯的时候,需要60秒。 解析:Dijkstra算法,用邻接矩阵建图。先把每个电梯能原创 2014-11-21 20:59:17 · 727 阅读 · 0 评论 -
HDU - 2544 最短路 (Dijkstra)
解析:Dijkstra算法的入门题。 如果对Dijkstra算法不理解的原创 2014-11-21 20:48:57 · 754 阅读 · 0 评论 -
hdu 5433 Xiao Ming climbing (BFS+dp)
题意: 小明因为受到大魔王的诅咒,被困到了一座荒无人烟的山上并无法脱离。这座山很奇怪: 这座山的底面是矩形的,而且矩形的每一小块都有一个特定的坐标(x,y)(x,y)和一个高度HH。 为了逃离这座山,小明必须找到大魔王,并消灭它以消除诅咒。 小明一开始有一个斗志值kk,如果斗志为0则无法与大魔王战斗,也就意味着失败。 小明每一步都能从他现在的位置走到他的(N,E,S,W)原创 2015-09-16 14:42:59 · 684 阅读 · 0 评论