2020杭电暑假多校第六场 A Very Easy Graph Problem(换根dp)
题目链接
**题意:**给一个无向图,每个点为0或1,第i条边长度为2的i次方。题目要求出所有点i、j,i为0且j为1,i、j间最短路的和。
**思路:**首先容易看出,若第i条边加入后图中产生了环,由于二进制的特性第i条边必然不能在最短路中,所以转化为树上问题。换根dp维护两个状态,1.每个节点到标记为1的子节点的路径长度和。2.每个节点标记为1的子节点个数。
代码:
#include<bits/stdc++.h>
#define ll long long
#define LL long lo
原创
2020-08-06 21:06:42 ·
118 阅读 ·
0 评论