「NOIP2019模拟题day2」bit


考虑树 dp,设 fif_i 表示不修改的时候 ii 号点上的数字,显然这个可以
O(n)O(n)dp得到。
gig_i 表示若 ii 号点的数字反转,即 ii 号点的数字变成了 fixor1f_i xor 1 之后,
11 号点的数字是多少。
那么 gig_i 的转移直接考虑他父亲的另一个儿子的数字和他反转的数字运
算之后和原来是不是一样,如果一样就没有影响,否则 gi=gfagi = g_{fa}
如果父亲只有一个儿子直接 gi=gfag_i = g_{fa}
总复杂度 O(n)O(n)

原文地址:https://www.cnblogs.com/ZhaoChongyan/p/11838624.html