main
黄海 2 years ago
parent 84f928fe62
commit 1d45b8b051

@ -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 <bits/stdc++.h>

Loading…
Cancel
Save