先用做的暴力,因为n最多才3000嘛,但是后来发现时间复杂度不止\(O\)(\({n}^2\)),然后就放弃了. 讲讲我的暴力+错误思路吧: 把1到s1和s2的最短路算出来,用SPFA,然后用DFS求出所有的最短路的路径,然后两两枚举,看哪个重合的点数最多,然后输出其他点所连接的边的个数.如果你这样想,那就跟我一样错了.仔细读题,我们求的是删除的最大,也就是保留的最小,保留的是总和,而不是每一个都是最短路,所以思路错了(所以我好弱弱弱弱弱啊). 正解: 1到s1和1到s2当中,两条路径肯定是有公