Dijkstra
文章平均质量分 73
deepquiet
这个作者很懒,什么都没留下…
展开
-
uva10801
题意:(非原创) 有一层不超过100层的大楼, 有n个电梯,它们的速度都不同。 而且每个电梯只能到达指定的那些楼层,而且它们都有各自的速度(即上升一层或下降一层所用的时间)。 如果一个人在某层走出电梯,要换一个电梯乘,那么他要等60秒(不管要等的是那个电梯,即使是刚刚出来的那个电梯也要等60秒)。在0层搭电梯出发时不需要等待。 一个人从0层开始,目的地是k层, 现在要搭这些电梯,问最少需多原创 2016-03-12 13:51:33 · 472 阅读 · 0 评论 -
uva10986 优先队列优化的Dijkstra
题意: 求最短路 思路: 这里用到了邻接表来存储,由于n太大了,然后还用了优先队列来优化,每次都输出里面的最短边,如果这个点的最短边已经考虑过了自然就不会考虑,然后每纳入一个点(就是优先队列里出来的未考虑的点)就重新调整每个点到原点的距离, 所有调整过的点都重新入队 代码: #include #include #include #include using std::make_pair;原创 2016-03-12 14:56:03 · 353 阅读 · 0 评论 -
uva563
题意: 每条路只能走一个人,不能在有交叉的点,要保证所有的银行都覆盖住 思路: 如果汇点的容量如果是银行总数那么自然所有的银行都走过了,这要求每个银行都拉成一条容量为1的线,起点通向0,终点通向maxn(自己设定,在边界外),且表格内每个点都通向终点,容量为1,这保证了容量最多是银行数量,且逃跑后每条路只有一个人 代码: #include #include #include #inclu原创 2016-07-24 14:39:04 · 292 阅读 · 0 评论