【ACM】那些年,我们挖(WA)过的最短路

不定时更新博客,该博客仅仅是一篇关于最短路的题集,题目顺序随机。

 

算法思想什么的,我就随便说(复)说(制)咯:

Dijkstra算法以起始点为中心向外层层扩展,直到扩展到终点为止。有贪心的意思。

大部分题用Dij+队列优化都能解决。。但有负权边不行哦。

 

Bellman-Ford反复对边集E中的每条边进行松弛操作

求含负权图(有负环输出错误提示)的单源最短路径,效率很低,至于对多余松弛的优化就是设置个标记,还是很慢,不如写SPFA。

判断负环:在每次松弛时把每条边都更新一下,若在n-1次松弛后还能更新,则说明图中有负环。

SPFA算法在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。

 

好了,刷题刷题。。。

 

poj 2391 Til the Cows Come Home【dij裸题】 :求N到1的距离,双向图,有重边。【论入门的快乐,喵】

 

poj 2253 Frogger【变种dij】  :求一种从点1到点2的跳跃方案,使得一次跳跃的最大值尽量小,求最大边。将d[i]的意义变为从1到i的最大边,然后贪心思想。

 

poj 1797 Heavy Transportation【变种dij】:求最大的最小边权值,和上一题差不多。。或者,写prim。

 

poj 3268 Silver Cow Party【dij】:往返的最短路,边要再反建一次。

 

poj 1860 Currency Exchange【Bellman-Ford或 SPFA 判断是否有正环】 裸 题。

 

poj 3259 Wormholes【Bellman-Ford或 SPFA判断是否有负环】 :这题数据弱,从1点开始走就能AC,但题没说是连通的哇。。。从各个点走,应为正确解法。或者,加个超级源点,连通一下。

 

poj 1502 MPI Maelstrom【dij裸题】 :好像这是第一次知道了这个函数atoi(s)

 

poj 3660 Cow Contest【floyd】 :给出牛之间的强弱关系,让你确定有多少头牛能够确定其排名。 用floyd去连边,然后点的出入度和为n-1就能确定该点排名。

 

poj 2240 Arbitrage 【floyd】:求自身到自身的最大转换率(求N种货币中是否有货币可以经过若干次兑换后,兑换成原来的货币可以使货币量增加)。 floyd求最大环。

 

poj 1511 Invitation Cards【SPFA】 :还是往返的最短路,边反建。。数据大,用邻接表存储。

 

poj 3159 Candies【差分约束+dij】:裸的差分约束。b比a多的糖果数目不超过c个,即d[b] – d[a] <= c,连边a->b。

 

hdu 5876 Sparse Graph【补图最短路bfs】:开两个set,一个放不邻接的点,一个放未扩展的点,更新一轮不邻接点的最短路后,将两集合交换,并清空未扩展点集合。

 

poj1122 FDNY to the Rescue!【dij+反向建图+输出路径】 :反向建图,从火警位置求一次最短路,求最短路时记录路径,按时间从小到大输出。

 

51nod 1459 迷宫游戏【dij裸题】

 

51nod 1445 变色DNA【dij】:其实,看出是最短路就是裸题了、、

 

POJ 2391 Ombrophobic Bovines【floyd+二分+最大流】好像重点不在最短路了?二分答案,利用floyd求出的最短路建s-t割。

 

ZOJ2760 【floyd+最大流】:听说对角线上的数据不一定为0,数据坑?233

 

hdu 5669 Road【线段树+分层图+最短路】:裸的线段树、裸的分层图、裸的最短路。我最喜欢的题之一,喵喵喵?

 

CodeForces 787D. Legacy【线段树+最短路】 :把上面那题复制一下,化简一下,就,完事啦......

 

hdu 5521 Meeting(dij+拆点):边太多了,给每个团加两个点,将团内点与该两点连边,减小建边数量,再进行两次dij。

 

BZOJ4152: [AMPPZ2014]The Captain【dij裸题】:xy排序后跑最短路。

 

BZOJ4289: PA2012 Tax(dij+技巧建图):真的是很神奇的一道题。化边为点,差值建边。[突然变咸.jpg]

 

hdu 5361In Touch(dij+并查集):用并查集优化,直接访问下个未访问点。

 

BZOJ2143: 飞飞侠 【分层图+最短路】这题输入数据是反的233。边太多,不好写?写分层图吖(有装置就花钱直接飞到它能弹射距离的高度,往四周走就相当于走楼梯往下走一台阶,走到底层就不能走了,或者走到其他有装置的地方,又可以飞升了)、、还可以降个维再用并查集优化,能跑的更快,OTZ。

 

BZOJ2007 : [Noi2010]海拔(对偶图+最短路):把原图转换成对偶图,东北为起点,西南为终点,跑最短路。

 

UVALive - 4223(二分+最短路):二分高度,然后就是裸的最短路:)

 

posted @ 2017-08-27 21:01  GraceSkyer  阅读(358)  评论(0编辑  收藏  举报

~~~~~~ACM大牛语录,激励一下~~~~~~

为了世界的和平,为了女生的安全,我拼命做题,做题,做题!

用最短的时间,刷最多的题!

给我一滴泪,我就看到了你全部的海洋!

seize the hour, seize the day.

人生难免有无奈,幸福走远了,或是感叹幸福来迟了.其实我一直相信,无论手中的幸福是多么微不足道的感觉,我会把握住那每一分,每一秒,当幸福依旧像那百鸟般飞逝,终究无法掌握时,我会感谢它,曾经降临过!

A自己的题,让别人郁闷去吧

WA肠中过,AC心中留 TLE耳边过,AC特别牛

天然的悲苦和伤逝,过去有过,以后还会有

^*^一步一步往上爬^*^

AC就像练级,比赛就像PK. 练级不如PK好玩

其实,世上本没有ACM,AC的人多了,也便有了!

AC无止尽~ Seek you forever~

找呀找呀找水题,找到一个AC一个呀!

AC是检验程序的唯一标准。

真的猛士,敢于直面惨淡的人生,敢于正视淋漓的鲜血……