Codeforces 544D
题意:给出$n$个点,$m$条边权为$1$的无向边,破坏最多的道路,使得从$s_1$到$t_1,s_2$到$t_2$的距离不超过$l_1,l_2$
对于$s_1$到$t_1$,最优肯定取最短路,2同理。
但是这两条路径可能重复更优,也就是说1取最短路而2可以在$l$范围之内不取最短路而使用1的某些边来减少边数的增加
所以我们枚举路径$(i,j)$,取每个起点终点经过这条路径的长度最短的。4种情况。最后取反答案即可。记得可能两条路径没有重合部分,直接赋值$dis(s_1,t_1)+dis(s_2,t_2)$
知识点:本题与CF 954D类似,都是求完最短路之后枚举边/路径来算答案。
对于权为$1$的图,可以用 BFS $O(n^2)$求多源最短路。而不是用Floyd $O(n^3)$的算法(或者$O(n(n+m)logn)=O(n^2+mnlogn)$)
本题将删除化为选择。