AT_arc083_b [ABC074D] Restoring Road Network 题解
难度虚高,建议评橙 / 黄 qwq。
首先我们发现这是一道最短路问题,且 \(N \le 300\),于是采取 floyd 算法解决。
具体地,我们分情况分类讨论。令我们当前枚举到的最短路径起点为 \(i\),终点为 \(j\),中转点为 \(k\),输入的矩阵为 \(dis\)。
- 
若 \(dis_{i,j}>dis_{i,k}+dis_{k,j}\),则一定无解; 
- 
若 \(dis_{i,j}=dis_{i,k}+dis_{k,j}\),则说明 \(i,j\) 最短路无需更新,对答案没有贡献,进行标记; 
最后遍历整个 \(dis\) 数组,若某条 \(i,j\) 最短路未被标记,则令答案累加 \(dis_{i,j}\) 即可。
时间复杂度 \(O(n^3)\)。
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号