2019CCPC秦皇岛 K MUV LUV UNLIMITED(博弈)
MUV LUV UNLIMITED
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 143 Accepted Submission(s): 16
白银武向战友们介绍了这样一个游戏:
给出一棵n个点以1为根的有根树。两个人轮流进行操作。操作人需要选出至少1个叶子(即没有儿子的点)删掉。无法操作的人输。
不幸的是,白银武发现自己的博弈论知识并不能判断自己应该选择先手还是后手。所以请你帮他判断,在双方都进行最优决策的情况下,是先手必胜还是后手必胜。
对于每组数据,
第1行一个正整数n,代表树上结点个数。
接下来一行n−1个数字,依次表示2∼n点的父亲编号。
2≤n≤106
每个测试文件中的n之和不超过106。
3
1 1
4
1 2 3
Meiya
对于第一组数据,先手选择删去2号点,那么后手只能删去3号点,之后先手删去1号点取得胜利。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define pii pair<int,int>
#define pil pair<int,ll>
#define mkp make_pair
const int INF=0x3f3f3f3f;
const ll inf=1e18;
const int maxn=1e6+;
int siz[maxn],fa[maxn],cnt[maxn];
int T,n,m;
vector<int> vec;
struct Edge{
int v,nxt;
} edge[maxn<<];
int head[maxn],tot; void Init()
{
tot=; fa[]=-;
for(int i=;i<=n;++i)
head[i]=-,cnt[i]=;
vec.clear();
} void AddEdge(int x,int y)
{
edge[tot].v=y;
edge[tot].nxt=head[x];
head[x]=tot++;
} void dfs(int u)
{
for(int i=head[u];~i;i=edge[i].nxt)
{
int v=edge[i].v;
if(v==fa[u]) continue;
fa[v]=u;
dfs(v);
}
} int main()
{
scanf("%d",&T) ;
while(T--)
{
scanf("%d",&n);
Init(); for(int i=;i<=n;++i)
{
int x;
scanf("%d",&x);
cnt[x]++;cnt[i]++;
AddEdge(i,x);AddEdge(x,i);
}
dfs(); cnt[]++; for(int i=;i<=n;++i)
if(cnt[i]==) vec.push_back(i); int flag=;
for(int i=,len=vec.size();i<len;++i)
{
int v=vec[i];
if(cnt[fa[v]]>) {flag=;break;}
int res=; while(cnt[fa[v]]==)
{
v=fa[v];
res++;
}
if(res&) flag=;
} if(flag==) puts("Takeru");
else puts("Meiya");
} return ;
}
2019CCPC秦皇岛 K MUV LUV UNLIMITED(博弈)的更多相关文章
- 2019CCPC秦皇岛 J MUV LUV EXTRA(KMP)
MUV LUV EXTRA Time Limit: 2000/1500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)T ...
- MUV LUV UNLIMITED Gym - 102361K
题目链接:https://vjudge.net/problem/Gym-102361K 题意:两个人轮流取树叶,最后没有树叶取的人输. 思路:求出所有树叶所在链的长度即可,如果都为偶数先手必败,否则先 ...
- 2019-ccpc秦皇岛现场赛
https://www.cnblogs.com/31415926535x/p/11625462.html 昨天和队友模拟了下今年秦皇岛的区域赛,,,(我全程在演 题目链接 D - Decimal 签到 ...
- HDU6740 2019CCPC秦皇岛赛区 J. MUV LUV EXTRA
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6740思路:求小数部分后k位的真前后缀 倒着kmp就好 #include<bits/stdc++.h& ...
- 【2019 CCPC 秦皇岛】J - MUV LUV EXTRA
原题: 题意: 给你两个整数a和b,再给你一个正小数,整数部分忽略不计,只考虑小数部分的循环节,对于所有可能的循环节,令其长度为l,在小数部分循环出现的长度为p,最后一个循环节允许不完整,但是缺少的部 ...
- K 大神的博弈知识汇总
博弈知识汇总 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可.两个人轮流从堆中取物体若干,规定最后取光物体者取胜.这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻 ...
- 2019CCPC秦皇岛 E题 Escape(网络流)
Escape Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
- 2019CCPC秦皇岛D题 Decimal
Decimal Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total S ...
- 2019CCPC秦皇岛I题 Invoker(DP)
Invoker Time Limit: 15000/12000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...
随机推荐
- python基础-匿名函数和内置函数
匿名函数和内置函数 匿名函数:没有名字,使用一次即被收回,加括号就可以运行的函数. 语法:lambda 参数:返回值 使用方式: 将匿名函数赋值给变量,给匿名函数一个名字,使用这个变量来调用(还不如用 ...
- 创建基于OData的Web API - Knowledge Builder API, Part IV: Write Controller
基于上一篇<创建基于OData的Web API - Knowledge Builder API, Part III:Write Model and Controller>,新创建的ODat ...
- nyoj 366 D的小L (全排列)
D的小L 时间限制:4000 ms | 内存限制:65535 KB 难度:2 描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给 ...
- 领扣(LeetCode)字符串相加 个人题解
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包 ...
- spring security进阶 使用数据库中的账户和密码认证
目录 spring security 使用数据库中的账户和密码认证 一.原理分析 二.代码实现 1.新建一个javaWeb工程 2.用户认证的实现 3.测试 三.总结 spring security ...
- 18个awk的经典实战案例
介绍 这些案例是我收集起来的,大多都是我自己遇到过的,有些比较经典,有些比较具有代表性. 这些awk案例我也录了相关视频的讲解awk 18个经典实战案例精讲,欢迎大家去瞅瞅. 插入几个新字段 在&qu ...
- no matches for kind "Deployment" in version "extensions/v1beta1"
0x00 Problem [root@k8sm90 demo]# kubectl create -f tomcat-deployment.yaml error: unable to recognize ...
- 【Luogu P3375】字符串匹配KMP算法模板
Luogu P3375 模式串:即题目中的S2所代表的意义 文本串:即题目中的S1所代表的意义 对于字符串匹配,有一种很显然的朴素算法:在S1中枚举起点一位一位匹配,失配之后起点往后移动一位,从头开始 ...
- pynlp报错:pynlpir.LicenseError: Your license appears to have expired. Try running "pynlpir update"解决办法。
使用pyltp做文本挖掘时报错: pynlpir.LicenseError: Your license appears to have expired. Try running "pynlp ...
- 深度学习解决NLP问题:语义相似度计算
在NLP领域,语义相似度的计算一直是个难题:搜索场景下query和Doc的语义相似度.feeds场景下Doc和Doc的语义相似度.机器翻译场景下A句子和B句子的语义相似度等等.本文通过介绍DSSM.C ...