您的位置:首页 > 其它

最短路小结

2015-11-10 21:03 295 查看
更多的题在我的专题了,可以自己去找,希望该文对你们有帮助。

模版和算法详解

Floyd

BellmanFord

Dijkstra

模型

1.Floyd算法的变形:因为Floyd算法的核心是动态规划,所以三层for的功能是很强大的

UVA-10048(两点之间的最长边达到最小)

UVA-125 (两点之间的路径数量)

UVA-104 (floyd的三层表示)

HDU-4034 (floyd的变形)

POJ-3660 (floyd的变形)

2.环:不管是正环还是负环,反正就是环,大部分是负环

UVA-558(求环裸题)

HDU-2647

HDU-1317

UVALIVE-4618(是负环,但并不是能到负无限大的负环)

Lightoj-1221

Lightoj-1108(需要逆向思考)

Lighoj-1074

3.多源点:多个出发点,其实也就是将多个d设置为0的事

HDU-2066

POJ-3268(需要逆向思考)

4.最短路树:何为最短路树,就是对每个点都做一次以该点为源点的最短路,然后纪录下最短路的路径,因为后面会问到,少了哪条边会不会对两点之间的最短路造成影响,这时可以通过最短路树判断,如果该边是最短路树上的边,那么就将该边去掉,再跑一次最短路,判断是否会影响即可。这样可以减少很多次最短路的次数,因为只要判断不是树边的都不用再跑一次

HDU-2433

UVALIVE-4080

5.差分约束系统:什么是差分约束系统,自己百度一下就知道了。给出一系列不等式,要你判断一下这些不等式是否都成立,这就是差分约束系统了,只要出现了负环,就表示不能完全成立了。这种题型,关键在于找到不等式

POJ-3159

POJ-1716

POJ-1364

UVA-11478

UVALIVE-5906

6.对偶图求解最小割:这种题型的话,就是给你很多的边,和很多的点,因为点和边太多了,直接跑最大流会挂掉,所以需要用另外一种思想求出最小割。这时,就要用到对偶图了,将面转成点,边转成两个面的连接边,求出起点到终点的最短路,就是所要的最小割了,这个我专题里面有详细介绍

HDU-3035

HYSBZ-1001

HDU-3870

7.比较好的题目:

UVA-10806 (求不重叠的最短路和)

UVA-10269 (两种最短路的结合)

UVA-10985 (比较抽象的一题)

HDU-1385(输出最短路的最小字典序路径,我的题解比较麻烦)

POJ-1062(有限制的最短路)

UVA-11374(建模恶心)

Lightoj-1099(次短路)

HDU-5521(处理好就可以)

HDU-3313(是否一定要经过?)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: