From 1d45b8b051d5a6ad5cd0c2623ba91de5a1b027c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 17 Jan 2024 10:54:17 +0800 Subject: [PATCH] 'commit' --- TangDou/Topic/【换根DP】专题.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/TangDou/Topic/【换根DP】专题.md b/TangDou/Topic/【换根DP】专题.md index de23f24..01fe987 100644 --- a/TangDou/Topic/【换根DP】专题.md +++ b/TangDou/Topic/【换根DP】专题.md @@ -1,3 +1,5 @@ +#### [【前导知识】](https://www.cnblogs.com/littlehb/p/17969449) + ## 换根$DP$ 换根$DP$,又叫二次扫描,是树形$DP$的一种。 @@ -36,9 +38,9 @@ - ④ 根从$1$号节点变为节点$x$的过程中,我们可以发现第一部分的深度降低了$1$,第二部分的深度则上升了$1$,而这两部分节点的数量在第一次搜索时就得到了。 故得到递推公式: -$$f[v]=f[u]-siz[v]+(siz[1]-siz[v]),fa[v]=u$$ +$$f[v]=f[u]-sz[v]+(sz[1]-sz[v]),fa[v]=u$$ 简化一下就是 -$$f[v]=f[u]+siz[1]-2\times siz[v]=f[u]+n-2\times siz[v]$$ +$$f[v]=f[u]+sz[1]-2\times sz[v]=f[u]+n-2\times sz[v]$$ ```cpp {.line-numbers} #include