diff --git a/TangDou/Topic/HuanGenDp/CF1187E.cpp b/TangDou/Topic/HuanGenDp/CF1187E.cpp index fb094f2..caf0283 100644 --- a/TangDou/Topic/HuanGenDp/CF1187E.cpp +++ b/TangDou/Topic/HuanGenDp/CF1187E.cpp @@ -45,10 +45,16 @@ signed main() { cin >> a >> b; add(a, b), add(b, a); } + // 第一次dfs,以子孙节点信息更新父节点的统计信息,统计信息包括:以u为根的子树中节点数个sz[u],每个节点可以获取到的权值f[u] dfs1(1, 0); + // f[i]:以1为根时的, 以i为根的子树可以获得的最大权值 + // g[i]:不管以谁为根,以i为根的子树可以获得的最大权值,也就是最终的结果存储数组 g[1] = f[1]; dfs2(1, 0); + + // 遍历一遍历,找出到底以谁为根可以获取到权值的最大值,最大值是多少 int ans = 0; for (int i = 1; i <= n; i++) ans = max(ans, g[i]); + // 输出答案 cout << ans << endl; } \ No newline at end of file diff --git a/TangDou/Topic/【换根】dfs专题.md b/TangDou/Topic/【换根】dfs专题.md index 71ffe74..257b9ca 100644 --- a/TangDou/Topic/【换根】dfs专题.md +++ b/TangDou/Topic/【换根】dfs专题.md @@ -401,8 +401,6 @@ signed main() { #### [$CF1187E$ $Tree$ $Painting$](https://www.luogu.com.cn/problem/CF1187E) -https://www.luogu.com.cn/blog/defKaeru/solution-cf1187e - **题意** 给定一棵有 $n$ 个结点的无根树,所有结点都是白色的。