缩点后dp时,设 fuf_ufu 表示 uuu 子树内方案数。
初始化:
fu=2valu−1.f_u=2^{val_u}-1.fu=2valu−1.
sz[u]=1.sz[u]=1.sz[u]=1.
其中 valuval_uvalu 指缩点后该点内的点数。
则每当新增一颗子树,有转移式:
fu=fu×2sz[v]+fv×2sz[u]+fu×fv.f_u=f_u\times 2^{sz[v]}+f_v\times 2^{sz[u]}+f_u\times f_v.fu=fu×2sz[v]+fv×2sz[u]+fu×fv.
sz[u]+=sz[v].sz[u]+=sz[v].sz[u]+=sz[v].
答案即 f1×2Identicalf_1\times 2^{Identical}f1×2Identical,其中 IdenticalIdenticalIdentical 为原图在同一边双的边个数。