AGC014D Black and White Trees
[AGC014D] Black and White Tree
给出一颗 \(N\) 个节点组成的树,每个节点都可以被染成白色或者黑色;
有高桥(先手)和青木(后手)两个人————高桥可以把任意一个点染成白色,青木则可以把任意一个点染成黑色,每个点只可染色一次。
重复上述操作直到所有点都被染色后,只执行一次执行以下操作:
-
把所有青木染成黑色的节点的相邻的白点感染成“次黑色”。
-
次黑色不能继续感染白点。
若操作完毕后仍还有白点存在,即高桥(先手)胜,反之则青木(后手)胜。
现在给出这棵树,问当前此树是先手必胜还是后手必胜。
先考虑在链上。容易发现,如果把左边第二个结点染白,则黑方必须把最左边的染黑,否则白方胜利。
拓展到树上,如果点 \(u\) 有两个子结点 \(a,b\) 且都是叶子,则白方必胜。
再拓展下:如果树没完美匹配,先手必胜。
根据对称性,如果有,先手必败。