题目描述:有无向图G 包含n个点,m条边(无重边自环),保证图联通,同时有k对(s,e) 。现在可以选择一条边将其边长修改为0,求k对distance(s,e)和的最小值。
数据范围 n,m,k<=1000
做法:
1. 跑n次最短路径 求出dis[][]。复杂度O(n^2logn)
2 假设选择的边为E,E的2个端点分别为a,b。那么对于某一对(s,e)。新的最短距离为
{dis[s][e],dis[s][a]+dis[e][b],dis[s][b]+dis[e][a]};所以枚举每条边就好了。复杂度O(mk)