、

AT_agc017_d [AGC017D] Game on Tree

题意

一棵树,\(1\) 为根。两个人轮流删一颗子树,不能动的输,问先手胜还是后手胜。\(\mathcal{O}(n)\)。

思路

先考虑根只有一个孩子,那么只要断掉就赢。那么如果拓展到链上它的 SG 函数就等价于 \(n-1\) 个点的取石子游戏。

那么拓展到树上,考虑目前加入状态的子树的 SG 函数值是 \(SG(s)\),那么根据定义有 \(SG(s^\prime)=SG(s)\oplus SG(T_v\to u)\)。

假设 \(SG(T_v)=x\),那么算上新的一条边就是一个 \(x+1\) 的取石子游戏,那么 \(SG(T_v\to u)=x+1\)。异或起来即可。

posted @ 2026-09-24 14:42  tanghg  阅读(6)  评论(0)    收藏  举报