【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 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(二分+最短路):二分高度,然后就是裸的最短路:)
【ACM】那些年,我们挖(WA)过的最短路的更多相关文章
- php获取汉字的拼音 拼音首字母
/***获取汉字的拼音*/function pinyin($s, $isfirst = false) { static $pinyins; $s = trim($s); $len = strlen($ ...
- POJ 模拟题集合
http://www.cppblog.com/Uriel/articles/101592.html 感觉这个暑假没有去年有激情啊,,,还没到状态就已经块上学了,,, 真是弱暴了,,,找几道模拟题刷刷. ...
- [C#] 汉字转拼音,支持多音字
这份代码大概不是严格意义上正确的,但是一般场景用用应该没问题. using System; using System.Collections.Generic; using System.Linq; u ...
- CSUFT 1002 Robot Navigation
1002: Robot Navigation Time Limit: 1 Sec Memory Limit: 128 MB Submit: 4 Solved: 2 Descript ...
- hdu 2544 最短路
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi ...
- HDU 5521 Meeting
2015 ACM / ICPC 沈阳站现场赛 M题 最短路 设置N+M个节点,前N个节点是Block,后M个节点是Set,每一组Set中的点向该Set连边,从1和n开始分别求最短路.注意爆int. # ...
- 最短路(spfa)
http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others) Memory ...
- HDU 4725 The Shortest Path in Nya Graph (最短路)
The Shortest Path in Nya Graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- HDU 2544最短路 (迪杰斯特拉算法)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others) Me ...
- Codeforces C. Jzzhu and Cities(dijkstra最短路)
题目描述: Jzzhu and Cities time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
随机推荐
- Java EE环境
Java EE环境,包括EJB容器和Web容器. (1)Web容器:只运行Web应用的容器,例如Tomcat就是开源的Web容器,它可以运行JSP.Servlet等. (2)EJB容器:运行在EJB组 ...
- Bash编程(6) String操作
1. 拼接 1) 简单的字符串拼接如:PATH=$PATH:$HOME/bin.如果拼接的字符串包含空格或特殊字符,需要使用双引号括起,如: var=$HOME/bin # 注释并不是赋值的一部分 v ...
- java 散列运算浅分析 hash()
文章部分代码图片和总结来自参考资料 哈希和常用的方法 散列,从中文字面意思就很好理解了,分散排列,我们知道数组地址空间连续,查找快,增删慢,而链表,查找慢,增删快,两者结合起来形成散列 ...
- jsp、servlet笔记
1.init 初始化Jsp&Servlet方法 destroy 销毁Jsp&Servlet之前的方法 service 对用户请求生成响应的方法2.Jsp文件必须在jsp服 ...
- java_对象序列化、反序列化
1.概念 序列化:将对象转化为字节序列的过程 反序列化:将字节序列转化为对象的过程 用途: A:将对象转化为字节序列保存在硬盘上,如文件中,如文本中的例子就是将person对象序列化成字节序列,存在p ...
- springboot+mybatis实现动态切换数据源
前几天有个需求,需要使用不同的数据源,例如某业务要用A数据源,另一个业务要用B数据源.我上网收集了一些资料整合了一下,虽然最后这个需求不了了之了,但是多数据源动态切换还是蛮好用的,所以记录一下,或许以 ...
- js 去除空格回车换行
开发中遇到特殊需求,需要将空格回车换行替换成逗号 直接使用正则表达式解决: 变量.replace(/\s+/g,","); 如果想要去除则将后面逗号变成空就OK了.
- mysql存储过程优化
示例 WHILE s <> 1 DO select xxx; insert into xxx; END WHILE; 执行耗时27秒 优化点1: 添加事物 START TRANSACTIO ...
- 怎么让div显示一行,其余的隐藏。
<style> div{ white-space: nowrap; text-overflow:ellipsis; text-overflow: ellipsis; overflow:hi ...
- 把连接中传的参数截取出来变成一个json对象
获取url function test() { var url=window.location.search; if(url.indexOf("?")!=-1) { var str ...