关于本题
查看原帖
关于本题
48355
EternalAlexander楼主2020/5/9 12:49

如果优化建图跑费用流,需要跑一次边数为 4n+m4n+m,点数为 2n2n 的费用流,朴素的最短增广路算法或者是 zkw 费用流算法复杂度都是 O(VEF)=O(n2m)O(VEF) = O(n^2m)。使用 Capacity Scaling 费用流可以得到 O(VElogU)=O(nmlogn)O(VE \log U) = O(nm \log n) 的做法,然而实测 TLE。

如果写 KM 算法,复杂度是 O(n3+m)O(n^3+m),建图后点数达到 10001000,而且之前还需要跑一遍 Floyd 。

上述算法的复杂度代入数据范围得到的数值似乎只有实际测试中 TLE 的 Capacity Scaling 费用流在 1s 的合理范围内,其他做法通过可能只是没有针对算法的数据。因此建议开大时限,例如至 3s。

2020/5/9 12:49
加载中...