随笔分类 - 最短路
摘要:0 or 1 题目: Given a n*n matrix C ij (1<=i,j<=n),We want to find a n*n matrix X ij (1<=i,j<=n),which is 0 or 1. Besides,X ij meets the following conditi
阅读全文
摘要:Marriage Match IV 思路:属于最短路径上的边应该满足:dis_A[u] + dis_B[v] + w == dis_A[B],dis_A是出发点到其他点的距离,dis_B是终点到其他点的距离,u,v是边的两个端点,w是权值。题目说每条边只能用一次,我们可以用最大流算法来求最短路径有几
阅读全文
摘要:题目链接:https://vjudge.net/problem/LightOJ-1074 思路:(busyness of destination - busyness of source)3 可能会是负值,那么可能出现负环, 需要SFPA来解决,我们需要把负环中的点能到达其他点都标记为‘?’点,因为
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-1847 思路:想从A到B使用开关少,想清楚了就是个简单的最短路,可以把不用开开关为权值0, 要开开关为权值1,就是求A到B开开关最少的次数,题目说了,每行第一个点是第 i-th点和他正好数开关开的方向连接。
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-1062 如图,我们可以把交换的情况,抽象为一个有向图, 先抛去等级限制,那么就是一个最短路,从①出发,到达其他点的最短路中 最短的那个就是我们需要的答案了。 当然松弛条件变成了 dis[now] - pos[now].w +
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-3159 思路: 能看出是差分约束的题, 我们想假设一个人是 p(1),另一个人是p(2),他们之间糖果差为w, 那么需要满足的是 : p(2) - p(1) <= w, 为了让p(1) 和 p(n)差距最大,我们可以取w,为了
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-1511 思路:题目意思就是,从1出发到所有城市,再从所有城市回到1的最短时间。 那么我们只要正跑一次图,然后反向存边,再跑一次图,把所有单源最短路相加就是答案了。 emmm,这题,很卡时间,作为一个懒人,用c++的输入输出,加
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-2240 思路:判正环,Bellman-ford和SPFA,floyd都可以,有正环就可以套利。 这里用SPFA,就是个板子题吧,把松弛改成乘法操作就好了。
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-3660 思路:为了确定排名,那么确定排名的那头牛一定是和所有的其他牛有比较,就是说他和其他n-1头 牛有联系,就是说,u能到v,或者v能到u,flody可以实现这个, 之后我们只需统计 i-th牛能和其他几头牛有联系,如果是
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-3169 题意:有一些奶牛,有些奶牛相互喜欢,他们之间的距离必须小于等于一个K。 有些奶牛相互讨厌,他们之间的距离必须大于等于一个K。问1号奶牛个n号奶牛最远能相距多少距离, 如果无法正常排队,输出 “ -1 ”,如果距离可以无
阅读全文
摘要:题目链接:https://vjudge.net/problem/HDU-4725 题意:附上一张图吧,把题目的意思画出来,我本来是按照上面的图建图,以为层节点和层上的节点无向就OK了,然后看了别人的代码发现层结点和相邻的层的点都无向, 然后想到一个样例就是我上面图无法解决的,我把权值和走的边都标出来
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-2502 思路:我们把家,学校,车站,都抽象成一个点,然后可以表示一张G(V,E)无向图。 这里我们要注意,相邻车站才可以相互以40km/h抵达,其他的只能以10km/h,再输入的时候要注意了。
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-1502 dijkstra板子题,题目提供下三角情况,不包含正对角线,因为有题意都为0,处理好输入,就是一个很水的题。
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-3259 思路:求有无负环,起点随意选就可以,因为目的只是找出有没有负环,有了负环就可以让时间一直回退,那么一定能回到当初,这里我选择从1号点开始。
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-1860 大致题意:有不同的货币,有很多货币交换点,每个货币交换点只能两种货币相互交换,有佣金C,汇率R。 每次交换算一次操作,问能不能经过一系列操作使得本来的货币的本金数额变大。 思路:相当于图,“一系列操作使得本金数额变大”
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-3268 题意:点X处开办排队,其他点的牛到X点去参加派对,然后从X点回到各自的点,通路是单向的,所有牛都要走最短路, 求出所有牛走的最短路中最长的那条路。 (直接看代码吧,就是一处改一下,别的和dijkstra板子差不多)
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-1797 思路:请参考我列出的另一个题目,和这个题目要求的值相反,另一个清楚后,这个写的解释就明白了。 另一个类似题目的博客:https://www.cnblogs.com/SSummerZzz/p/11200821.html
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-2253 思路: 从一号到二号石头的所有路线中,每条路线中都个子选出该路线中两点通路的最长距离,并在这些选出的最长距离选出最短路的那个距离X, 就是青蛙距离,即青蛙至少能跳X米,才能安全的到达二号,因为什么,再看看第一句话。 再
阅读全文
摘要:题目链接: https://vjudge.net/problem/POJ-2387 题意:从编号为n的城市到编号为1的城市的最短路。 思路:dijkstra模板题,直接套板子,代码中我会带点注释给初学者看。
阅读全文