[CF1110G]Tree-Tac-Toe[博弈论、构造]

题意

两个人在树上做游戏,一个人要将节点染成白色,一个人要染成黑色, 有些点在游戏前就是白色的,白色先手,有三个棋子连通且颜色相同时对应方获胜,问最后谁获胜(可以平局)。

分析

  • 黑色绝对不可能必胜。

  • 先考虑初始都是无色。

    一个点 度数超过4 或者 度数超过3且有2个以上的儿子不是叶子节点 则白色必胜。

    否则只可能是 一条链+至多两个端点有两个儿子(叶子)

    当有两个端点有两个儿子时,如果中间链的长度为奇数必胜(考虑先手从链上第二个点开始,后手必须每次选择前面一个点)。

  • 然后考虑初始有白色节点:

    没有想到的转化:如果一个点初始是白色节点,在下面坠上三个点,连边:(u - a, a-b,b-c) 这样每次我们一旦给 (u) 染色,后手就必须给 (a) 染色,相当于初始就存在这些点。

  • 复杂度 (O(n))

代码

代码链接

原文地址:https://www.cnblogs.com/yqgAKIOI/p/10392472.html