随笔分类 - 图论--最短路--floyd
摘要:n<=150个点,m<=150条路,每条路Ai,Bi,Di表示Ai到Bi有一条有向边,使用他前至少要走Di条路,问1到n最少走几条路。 又是n^4过150的题。。。。 不同于传统的最短路,这次的最短路包括了m个图,并且状态和走的路径数有关。所以要一个状态Can(i,j)表示能否到达点i走j步。 由于
阅读全文
摘要:n<=300个点的有向图求点数最少的负环。 先倍增,用floyd找到最少出现负环的走2^k的最短路,把倍增过程中那些图记下来。倍增floyd就跟矩阵快速幂一样的,因为:把floyd当成一次乘法,走一步的图*走一步的图=走两步的图,走两步的图*走两步的图=走四步的图…… 不过有个小问题,走3步出现负环
阅读全文
摘要:n<=200个点m<=1500条无向带权边的图,每个点有人和容量,人可以移动,代价为所有人走过的边的权和,求使所有点人不超过容量的最小代价。 方法一:费用流。 错误!答案与边权不成比例。 方法二:二分一个答案,然后根据floyd求出的最短路看每个点在二分的答案下能去到哪些点,跑最大流检查是否合法。
阅读全文
摘要:n<=250个点m<=10000边无自环图,有点权边权,Q<=10000个询问i到j的最短路。这里的路径长度指路上边权和+路上点权最大值。 n这么小,询问这么多,那就跑跑floyd吧!f[i][j]记最短路,g[i][j]记最短路上最大点权,当f[i][j]+g[i][j]>f[i][k]+f[k]
阅读全文
摘要:n<=1000头牛各有一个未知值Ai,已知m<=10000条形如Ax>Ay的不等关系,求将整个序列排序的最少比较次数。 Aa>Ab,Ab>Ac > Aa>Ac,传递性,因此按m条不等关系连边建图,求出传递闭包,就是已知的关系。 求出传递闭包中的i≠j的0的个数即可。错误!连的图是有向图,而已知大于关
阅读全文
摘要:一个编号在1000内的m条边的图,求从s到t恰好经过D条路径的最短路。 一开始什么想法都没有。。之前写过分层图套进去也怪怪的。。毕竟D<=10^6 苦思冥想睡了一觉后,还是没思路,查查题解,打开了新世界的大门 没有重边,提示我们构造邻接矩阵,最短路可以用floyd求出,但怎么用Floyd来“限边”?
阅读全文