T2 P4323 [JSOI2016]独特的树叶
思路:
考虑一种树哈希
f x = 1 + ∑ y ∈ s o n x f y × p r ( s z y ) f_x=1+\sum_{y\in son_x} f_y\times pr(sz_y) fx=1+y∈sonx∑fy×pr(szy)
其中 p r ( i ) pr(i) pr(i) 表示第 i i i 个质数
考虑处理出每个节点为根时的哈希值
知道 x x x 为根时 x , y x,y x,y 的哈希值,求 y y y 为根时的哈希值
y y y 子树的哈希值不变,考虑如何处理祖先的哈希值
哈希值与深度无关,可以直接转移
设 x x x 为根时的总哈希值为 g x g_x gx
g y = f y + ( g x − f y × p r ( s z y ) ) × p r ( n − s z y