[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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值