题目
分析
凉凉。
答案是所有要经过的点到根所经过的边权和减去最大的边权。
代码
vector好慢啊
#include#include #include using namespace std;const int maxn=105000;int d[maxn], fa[maxn];struct Edge{ int u,v,dis;};vector G[maxn];vector edges;int n, ans;int val[maxn], vis[maxn];void Addedge(int u,int v,int dis){ edges.push_back((Edge){u,v,dis});edges.push_back((Edge){v,u,dis}); int m=edges.size()-1;G[u].push_back(m-1);G[v].push_back(m);}int dfs(int x,int f,int depth){ fa[x]=f; d[x]=depth; for(int i=0;i