2019ccpc秦皇岛赛区K. MUV LUV UNLIMITED(博弈)

题目连接

题意:两个人在一棵树上玩游戏,两人轮流在树上选择一个以上的叶子进行删除。最后删掉根节点的人获胜,问是先手必胜还是后手必胜

(1).若只有一条链,则直接判奇偶(废话)
(2).若不只一条链,则分以下两类情况讨论。

  1. 若一个叶子节点的父亲节点不只一个儿子,那么先手必胜。因为删掉这个叶子后若达到必败态那么必胜,若达到必胜态,那么可以再删掉一些叶子节点达到必败态。因为删掉这个叶子节点后,总的叶子节点减少,所以对手无法按照模仿你的策略来进行游戏对抗(感性认识下)
  2. 若叶子节点到其最近出度大于1的父亲的链的长度均为偶数,则先手必败,否则先手必胜。由1.得,若存在链长为1的叶子,那么此时必胜。所以我们需要让对手转化为有链长为1的状态。那么我们可以将所有奇数链长转换为偶数链长,这样迫使对方让某一链长减少,使得到达j己方必胜局面。
#include<bits/stdc++.h>
#define ll long long 
using namespace std;
const int maxn = 1e6+5;
vector<int>V[maxn];
int T;
int n;
int fa[maxn];
bool dfs(int u,
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值