随笔分类 -  最短路

摘要:ZOJ - 3781 把每个连通块缩点,相邻的点建边 然后从某点出发,求到所有点的最短路 取其中最大的值 然后遍历所有的点为起点 取最小值 遍历起点 就相当于 第一次操作 翻动该点(是一个连通块) 然后该点就和与它相邻的所有的点的颜色都一样了 然后翻动下一个点···· 直到路径最长的点 那么所有的点 阅读全文
posted @ 2019-05-01 21:08 WTSRUVF 阅读(163) 评论(0) 推荐(0)
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4028 memset超时 这题竟然是一个差分约束 好吧呢 对于每一个a[i], l <= a[i] <= r 那么设一个源点s 使 l <= a[i] - s <= r 是不是 阅读全文
posted @ 2019-04-26 22:11 WTSRUVF 阅读(176) 评论(0) 推荐(0)
摘要:Intervals Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5488 Accepted Submission(s): 1999 Prob 阅读全文
posted @ 2019-04-21 21:18 WTSRUVF 阅读(218) 评论(0) 推荐(0)
摘要:题意: 设从1到每个点的最短距离为d,求删除几条边后仍然使1到每个点的距离为d,使得剩下的边最多为k 解析: 先求来一遍spfa,然后bfs遍历每条路,如果d[v] == d[u] + Node[i].w 则说明这条路要保留 注意是按着走的路的顺序输出的 wa1 注意最大值设为0x3f wa3 学到 阅读全文
posted @ 2018-11-13 20:37 WTSRUVF 阅读(318) 评论(0) 推荐(0)
摘要:Description 来越多,因此选择最佳路径是很现实的问题。城市的道路是双向的,每条道路有固定的旅行时间以及需要支付的费用。路径由连续的道路组成。总时间是各条道路旅行时间的和,总费用是各条道路所支付费用的总和。同样的出发地和目的地,如果路径A比路径B所需时间少且费用低,那么我们说路径A比路径B好 阅读全文
posted @ 2018-10-04 17:19 WTSRUVF 阅读(374) 评论(0) 推荐(0)
摘要:就是在最短路的基础上 多加了一个时间的限制 , 多一个限制多一维就好了 记住 分层最短路要用dijistra !!! 阅读全文
posted @ 2018-10-03 21:49 WTSRUVF 阅读(194) 评论(0) 推荐(0)
摘要:题意: 就是使不大于k条路的权值变为零后求最短路 解析: d[i][j]表示使j条路变为权值后从起点到点i的最短路径 这题不能用spfa做 tle 阅读全文
posted @ 2018-09-02 13:58 WTSRUVF 阅读(170) 评论(0) 推荐(0)
摘要:题意: 就是求完最大值最小化 然后输出在这条最大值最小化的最短路上的点的不在最短路上的边,emm。。。。 解析: 很明显,先套spfa最大值最小化模板,emm。。。 在更新d的时候 用一个pre去记录父结点 跑完spfa后用dfs把这条最短路上所有经过的点找出来 放在vector里,用数组也行,这不 阅读全文
posted @ 2018-08-26 20:51 WTSRUVF 阅读(192) 评论(0) 推荐(0)
摘要:题意: 给定一个有向图,每条边都有一个权值,每次你可以选择一个结点v和一个整数d,把所有以v为终点的边的权值减小d,把所有以v为起点的边的权值增加d,最后要让所有边权的最小值非负且尽量大 两个特判 1、图中存在负环 则 No Solution (构成差分约束系统的图后bk的最小值为w(u,v)- 1 阅读全文
posted @ 2018-08-03 10:18 WTSRUVF 阅读(297) 评论(0) 推荐(0)
摘要:在判断环路时,如果没有源点,则建立超级源s,从s出发与所有其它点相连,权值为0。 那么从s出发进行spfa就相当于把所有的点加入队列中,且标记,且d[i] = 0; 阅读全文
posted @ 2018-08-03 08:54 WTSRUVF 阅读(210) 评论(0) 推荐(0)
摘要:题意: 给定一个n个点m条边的加权有向图,求平均权值最小的回路 解析: 首先肯定是想到找出环路 然后。。呵。。呵。。呵呵。。。 显然不现实!! 二分大法好 。。。。去猜结果 然后带入验证 。。。真是的。。很过分! 嗯! 是的! 我参考一下UVA11478的代码 。。。建立超级源的做法。。竟然50ms 阅读全文
posted @ 2018-08-02 18:23 WTSRUVF 阅读(289) 评论(0) 推荐(0)
摘要:给定图G=(V,E)G=(V,E),VV中有两类点,一类点(AA类)在进入时要缴纳1的费用,另一类点(BB类)在进入时要缴纳当前携带金额的1/20(不足20的部分按20算) 已知起点为SS,终点为TT,希望在到达TT时能够拥有PP的金额,问一开始在SS最少要携带多少金额,并求出路径(若有多条,输出字 阅读全文
posted @ 2018-08-02 15:55 WTSRUVF 阅读(210) 评论(0) 推荐(0)
摘要:题意: 就是分糖果 然后A觉得B比他优秀 所以分的糖果可以比他多 但最多不能超过c1个, B又觉得A比他优秀。。。。 符合差分约束的条件 设A分了x个 B分了y个 则x-y <= c1 , 根据其它的关系可以找出c2 c3 ···· 如果不懂差分约束的请 点击 所以构成不等式组:x-y <= c1 阅读全文
posted @ 2018-06-08 21:52 WTSRUVF 阅读(155) 评论(0) 推荐(0)
摘要:题意:。。。中文题。。。 昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 54350 Accepted: 16368 Description 年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长 阅读全文
posted @ 2018-06-08 21:40 WTSRUVF 阅读(204) 评论(0) 推荐(0)
摘要:概念: 传递一种关系,例如 a//b b//c 则 a//c 从已知的初始关系中 推出最后所有对象之间的关系 初始时把所有有关系的标记为1 即a[i][j] = 1 然后用Floyd 推出最后的结果 则有关系的两个对象被标记为1 例题:POJ3660 题意: n个牛打架 初始已知m个打架结果 求最后 阅读全文
posted @ 2018-06-07 10:55 WTSRUVF 阅读(1979) 评论(0) 推荐(0)
摘要:题意: 农夫john发现了一些虫洞,虫洞是一种在你到达虫洞之前把你送回目的地的一种方式,FJ的每个农场,由n块土地(编号为1-n),M 条路,和W个 虫洞组成,FJ想从一块土地开始,经过若干条路和虫洞,返回到他最初开始走的地方并且时间要在他离开之前,或者恰好等于他离开的时间。 把虫洞的时间看成负边权 阅读全文
posted @ 2018-06-06 16:30 WTSRUVF 阅读(203) 评论(0) 推荐(0)
摘要:题意: 有n头牛去第x个点开party(有点高大上~),单向路,去到还得回来,问这n头牛每一头花费的总时间的最大值是多少 模板spfa: 阅读全文
posted @ 2018-06-06 13:35 WTSRUVF 阅读(147) 评论(0) 推荐(0)
摘要:题意: 给出一张各种货币交换的网络,问在网络中交换原有的货币,问货币能否增值? 解析: 判断是否存在正环即可 用spfa 负环和正环的判定方法一样 如果一个点的进队次数超过n次 则存在环 代码如下: 阅读全文
posted @ 2018-06-06 13:22 WTSRUVF 阅读(125) 评论(0) 推荐(0)
摘要:题意:给出几个集合,每个集合中有Si个点 且任意两个点的距离为ti,现在要求两个人分别从1和n出发,问最短多长时间才能遇到,且给出这些可能的相遇点; 取两个人到达某点时所用时间大的值 然后取最小的 若有多个结果 则按点的升序排列 解析: 比较裸的最短路 ,但坑在建图上,Si的和小于1e6 那么建的边 阅读全文
posted @ 2018-06-03 20:23 WTSRUVF 阅读(144) 评论(0) 推荐(0)
摘要:题意:有n个点,每个点都在一个层内,层与层之间的距离为c,一个层内的点可以到达与它相邻的前后两个层的点,还有m条小路 。。时间真的是卡的很恶心啊。。。 借一下别人的思路思路: 这题主要难在建图上,要将层抽象出来成为n个点(对应编号依次为n+1~n+n),然后层与层建边,点与点建边,层与在该层上的点建 阅读全文
posted @ 2018-06-03 11:40 WTSRUVF 阅读(237) 评论(0) 推荐(0)