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