AT2376-[AGC014D]Black and White Tree【结论,博弈论】

正题

题目链接:https://www.luogu.com.cn/problem/AT2376


题目大意

给出nnn个点的一棵树,先后手轮流选择一个未染色的点染上白色(先手)/黑色(后手),如果最后有一个白色的点连接的都是白色的点则先手获胜,否则后手获胜。求是否先手必胜。

1≤n≤1051\leq n\leq 10^51n105


解题思路

结论就是如果这棵树存在完全匹配那么就是后手必胜,因为后手可以每次选择先手选择的那个点的匹配点这样先手永远不可能获胜。

否则肯定存在一种方案使得存在一个叶子没有完全匹配,只要先手最后封锁这个叶子就好了。

时间复杂度:O(n)O(n)O(n)


code

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e5+10;
struct node{int to,next;
}a[N<<1];
int n,tot,ls[N],f[N][2];
void addl(int x,int y){a[++tot].to=y;a[tot].next=ls[x];ls[x]=tot;return;
}
void dfs(int x,int fa){f[x][0]=1;for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(y==fa)continue;dfs(y,x);f[x][1]&=f[y][1];f[x][1]|=f[x][0]&f[y][0];f[x][0]&=f[y][1];}return;
}
int main()
{scanf("%d",&n);for(int i=1;i<n;i++){int x,y;scanf("%d%d",&x,&y);addl(x,y);addl(y,x);}dfs(1,0);if(f[1][1])printf("Second");else printf("First");return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何测试 ASP.NET Core Web API

在本文中&#xff0c;我们将研究如何测试你的 ASP .NET Core 2.0 Web API 解决方案。我们将了解使用单元测试进行内部测试&#xff0c;使用全新的 ASP .NET Core 的集成测试框架来进行外部测试。本文要点正确理解并使用单元测试和你的 ASP .NET Core Web API 解决方案一样重要。…

[帝皇杯day 1] [NOIP2018模拟赛]小P的loI(暴力+素筛),【NOIP模拟赛】创世纪(贪心),无聊的数对(线段树)

文章目录T1&#xff1a;小P的loltitlesolutioncodeT2&#xff1a;创世纪titlesolutioncodeT3&#xff1a;无聊的数对titlesolutioncodeT1&#xff1a;小P的lol title solution 此题非常水… 先用素数筛&#xff0c;筛出[1,n][1,n][1,n]中的质数 质数越小&#xff0c;倍数的分…

P6144 [USACO20FEB]Help Yourself P(DP+线段树)

P6144 [USACO20FEB]Help Yourself P 将线段按照了 \(r\) 排序&#xff0c;设右端点为 \(r\) 的答案为 \(f_r\)&#xff0c;发现这样转移非常困难。 \(\color{yellow}{\bigstar\texttt{Trick}}\)&#xff1a;区间覆盖的题要按照左端点排序&#xff0c;记右端点为 \(r\) 时的答案…

Desert King POJ - 2728

题意&#xff1a; 给定N个平面上的点的坐标和它们的权值&#xff0c;任意两点之间的边的价值是它们的距离&#xff0c;费用是两点权值之差的绝对值&#xff0c;求该图的一棵生成树&#xff0c;使得该树所有边的费用之和与价值之和的比值最小&#xff08;只需求这个比值即可&am…

洛谷P3338:力(FFT)

传送门 解析 算是比较适合的FFT入门题了吧 一个重要的trick&#xff1a; 当函数无法表示成卷积时&#xff0c;可以把函数翻转过来 然后调一调就又是卷积了 一个重要的注意事项是FFT的lim一定是两多项式相乘结果多项式的项数&#xff01; 即使后面的项根本没有用也一样 其他的…

CF650E-Clockwork Bomb【并查集】

正题 题目链接:https://www.luogu.com.cn/problem/CF650E 题目大意 给出nnn个点的两棵树&#xff0c;你每次可以选择第一棵树上的一条边改成另一条边&#xff0c;但是改完之后必须还是一棵树&#xff0c;求最少的步数把第一棵树改成第二棵树。 1≤n≤51051\leq n\leq 5\times…

[2-sat专练]poj 3683,hdu 1814,hdu 1824,hdu 3622,hdu 4115,hdu 4421

文章目录Priest Johns Busiest DaycodePeaceful CommissioncodeLets go homecodeBomb GamecodeEliminate the ConflictcodeBit MagiccodePriest John’s Busiest Day 题目 司仪必须在婚礼开始或结束时出现&#xff0c;考虑把第iii场婚礼拆成两个点 iii&#xff1a;表示司仪在婚…

.NET Core中的一个接口多种实现的依赖注入与动态选择

最近有个需求就是一个抽象仓储层接口方法需要SqlServer以及Oracle两种实现方式&#xff0c;为了灵活我在依赖注入的时候把这两种实现都给注入进了依赖注入容器中&#xff0c;但是在服务调用的时候总是获取到最后注入的那个方法的实现&#xff0c;这时候就在想能不能实现动态的选…

Sightseeing Cows POJ - 3621

题意&#xff1a; L个点&#xff0c;P边的点边带权的有向图&#xff0c;求一个环点权和与边权和比值的最大值。 题解&#xff1a; 01分数规划判负环 详细看这里 还是套用01分数规划模型&#xff0c;点权为value[i],边权为cost[u],一个环为C&#xff0c;问题要求最大化 最…

CF559E Gerald and Path(DP)

CF559E Gerald and Path 设 \(dp(i,p)\) 表示完成前 \(i\) 条线段的覆盖&#xff0c;最右端位于 \(p\) 点的最大收益。 转移&#xff1f;向下一条线段转移时加上他们中间的距离&#xff1f;发现这样没有办法统计 \(p\) 点以前的空位了&#xff01; \(\color{yellow}{\bigstar\t…

多项式乘法:练习总结

文章目录前言力代码礼物代码差分和前缀和代码开拓者的知识代码总结前言 这两天由于国庆集训全是阴间的生成函数&#xff0c;所以就学了一点点相关的内容 其实就学了个FFT和NTT 也算是点开了一个小小的技能点吧 进入多项式才发现里面世界的广阔 然而由于这玩意没有一个是NOIP考…

CF1444C-Team-Building【可撤销并查集】

正题 题目链接:https://www.luogu.com.cn/problem/CF1444C 题目大意 给出nnn个点mmm条边的一张图&#xff0c;总共kkk个颜色&#xff0c;每个点有一个颜色。 询问有多少无序颜色对(x,y)(x,y)(x,y)满足x≠yx\neq yx​y且颜色为xxx或yyy的点构成的生成子图是一个二分图。 1≤…

C# Memory Cache 踩坑记录

背景前些天公司服务器数据库访问量偏高,运维人员收到告警推送,安排我团队小伙伴排查原因.我们发现原来系统定期会跑一个回归测试,该测运行的任务较多,每处理一条任务都会到数据库中取相关数据,高速地回归测试也带来了高频率的数据库读取.解决方案1我们认为每个任务要取的数据大…

模板:无旋treap

文章目录前言操作合并分裂插入删除查找第k大查询x的排名前驱后继完整代码所谓无旋treap&#xff0c;就是不带旋转的treap 前言 现在“理论上”我会四种平衡树了 之前说无旋treap功能弱&#xff0c;是我狗眼看银低了qwq 这玩意区间上该搞的也能搞 而且确实是非常的 好写&#x…

[贪心专题]CF549G,CF351E,CF226D,CF1276C,CF1148E,CF798D

文章目录T1&#xff1a;CF1276C Beautiful RectangletitlesolutioncodeT2&#xff1a;CF226D The tabletitlesolutioncodeT3&#xff1a;CF549G Happy LinetitlesolutioncodeT4&#xff1a;CF798D Mike and distributiontitlesolutioncodeT5&#xff1a;CF351E Jeff and Permut…

51nod1766-树上的最远点对【结论,线段树】

正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId1766 题目大意 给出nnn个点的一棵树&#xff0c;mmm次询问给出两个区间&#xff0c;要求在两个区间中各选一个点使得他们之间距离最大。 1≤n,m≤1051\leq n,m\leq 10^51≤n,m≤105 解题思路 结论就是两…

P3385 【模板】负环

P3385 【模板】负环 题意&#xff1a; 给定一个 n 个点的有向图&#xff0c;请求出图中是否存在从顶点 1 出发能到达的负环。 负环的定义是&#xff1a;一条边权之和为负数的回路。 题解&#xff1a; 先说结论&#xff1a; 判断给定的有向图中是否存在负环。 利用 spfa 算…

LOJ洛谷P1248加工生产调度(贪心、Johnson 法则)

解析 和国王游戏一样的做法 容易写出cmp函数的依据&#xff1a; min(u.a,v.b)<min(u.b,v.a)但是这个题的比较函数有一个取min的操作 这个东西会有一个问题&#xff1a;不满足不可比性的传递性 通俗的说&#xff0c;xy,yz,但是x不一定z 比如说如果y的a和b都很小&#xff0c…

【数位DP】CF 54C,509C,431D,628D,855E,1245F,95D

这一次有题解了&#xff01;&#xff01;T1&#xff1a;CF54C First Digit LawtitlesolutioncodeT2&#xff1a;CF509C Sums of DigitstitlesolutioncodeT3&#xff1a;CF431D Random TasktitlesolutioncodeT4&#xff1a;CF628D Magic NumberstitlesolutioncodeT5&#xff1a;…

CF1007E Mini Metro(DP 化散为整,将状态压缩)

CF1007E Mini Metro 有 \(N\) 个站台&#xff0c;从左往右编号为 \(1,2,\cdots,n\)&#xff0c;每个站台初始时(\(0\) 时刻)有 \(a_i\) 个人&#xff0c;从 \(0\) 时刻初开始游戏。 每个时刻&#xff0c;会依次发生如下事件&#xff1a; 你可以选择召唤 \(0\) 辆、一辆或多辆向…