2017国家集训队作业[agc014d]Black and White Tree
2017国家集训队作业[agc014d]Black and White Tree
题意:
有一颗n个点的树,刚开始每个点都没有颜色。Alice和Bob会轮流对这棵树的一个点涂色,Alice涂白,Bob涂黑,Alice先手。若最后存在一个白点,使得这个白点所有相邻点都为白色,则Alice胜,否则Bob胜。请问是先手必胜还是后手必胜。(点数\(N\le10^5\))
题解:
显然先手使用贪心的策略,使后手被迫操作。(别听这个沙茶,他推了半小时才发现)观察发现若一个点有多个儿子是叶子节点,此时先手必胜,若它只有一个叶子节点儿子,那么选这个点,后手就必选这个叶子。则,在dfs时,若当前点满足上述,则它与它的父亲那条边就可以无视了,这个操作是可以递归的。简单的树形DP。(别听这个沙茶,他没过了拍,却没过样例就交了)%#%q\(%w#\)#%$^%#%!!!!!
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define fo(i,l,r) for(int i=l;i<=r;i++)
#define of(i,l,r) for(int i=l;i>=r;i--)
#define fe(i,u) for(int i=head[u];i;i=e[i].next)
using namespace std;
typedef long long ll;
inline int rd()
{
static int x,f;
x=0,f=1;
char ch=getchar();
for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;
for(;ch>='0'&&ch<='9';ch=getchar())x=x*10+ch-'0';
return x*f;
}
const int N=100010;
struct edge{
int v,next;
edge(int v=0,int next=0):v(v),next(next){}
}e[N<<1];
int n,siz;
int tot=0,head[N];
bool stp=0,vis[N];
inline void add(int u,int v){e[++tot]=edge(v,head[u]);head[u]=tot;}
inline void dfs(int u,int fat)
{
int cnt=0;vis[u]=1;
fe(i,u){
int v=e[i].v;
if(v==fat)continue;
dfs(v,u);if(stp)return;
if(vis[v])cnt++;
}
if(cnt==1)vis[u]=0,siz-=2;
if(cnt>1||siz==1)stp=1;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif
n=rd();siz=n;
fo(i,2,n){
int x=rd(),y=rd();
add(x,y);add(y,x);
}
dfs(1,0);
if(stp)puts("First");
else puts("Second");
return 0;
}
我是真滴菜
2017国家集训队作业[agc014d]Black and White Tree的更多相关文章
- 2017国家集训队作业Atcoder题目试做
2017国家集训队作业Atcoder题目试做 虽然远没有达到这个水平,但是据说Atcoder思维难度大,代码难度小,适合我这种不会打字的选手,所以试着做一做 不知道能做几题啊 在完全自己做出来的题前面 ...
- 2017国家集训队作业[agc016b]Color Hats
2017国家集训队作业[agc016b]Color Hats 题意: 有\(N\)个人,每个人有一顶帽子.帽子有不同的颜色.现在,每个人都告诉你,他看到的所有其它人的帽子共有多少种颜色,问有没有符合所 ...
- 2017国家集训队作业[agc016e]Poor Turkey
2017国家集训队作业[agc016e]Poor Turkey 题意: 一开始有\(N\)只鸡是活着的,有\(M\)个时刻,每个时刻有两个数\(X_i,Y_i\),表示在第\(i\)个时刻在\(X_i ...
- 2017国家集训队作业[agc006f]Blackout
2017国家集训队作业[agc006f]Blackout 题意: 有一个\(N*N\)的网格,一开始有\(M\)个格子被涂黑,给出这\(M\)个格子,和染色操作:如果有坐标为\((x,y),(y,z) ...
- 2017国家集训队作业[agc004f]Namori
2017国家集训队作业[agc004f]Namori 题意: 给你一颗树或环套树,树上有\(N\)个点,有\(M\)条边.一开始,树上的点都是白色,一次操作可以选择一条端点颜色相同的边,使它的端点颜色 ...
- 2017国家集训队作业[arc082d]Sandglass
2017国家集训队作业[arc082d]Sandglass 题意: 有一个沙漏,初始时\(A\)瓶在上方,两个瓶子的最大容量都为\(X\)克,沙子流动的速度为\(1g\)每单位时间.给出\(K\) ...
- 2017国家集训队作业[arc076d/f][Exhausted?]
2017国家集训队作业[arc076d/f][Exhausted?] 题意: 有\(N\)个人,\(M\)把椅子,给出\(...L_i.R_i\)表示第\(i\)个人可以选择编号为\(1\sim ...
- 2017国家集训队作业[agc006e]Rotate 3x3
2017国家集训队作业[agc006e]Rotate 3x3 题意: 给你一个\(3*N\)的网格,每次操作选择一个\(3*3\)的网格,旋转\(180^\circ\).问可不可以使每个位置\(( ...
- 2017国家集训队作业[agc008f]Black Radius
2017国家集训队作业[agc008f]Black Radius 时隔4个月,经历了省赛打酱油和中考各种被吊打后,我终于回想起了我博客园的密码= = 题意: 给你一棵树,树上有若干个关键点.选中某 ...
随机推荐
- ZJU 1346 Comparing Your Heroes 状态压缩DP 拓扑排序的计数
做多校的时候遇见一个求拓扑排序数量的题,就顺便来写了一下. 题意: 你有个朋友是KOF的狂热粉丝,他有一个对其中英雄的强弱比较,让你根据这些比较关系来给这些英雄排名.问一共有多少种排名方式. 思路: ...
- 对GPDB查询计划的Motion结点的理解
GPDB在进行join查询时,可能会产生Motion结点 根据官方文档,总共有这几种Motion: redistribute 重分布(用hash取模的方法把join字段重分布到各个segment,相当 ...
- [Recompose] Refactor React Render Props to Streaming Props with RxJS and Recompose
This lesson takes the concept of render props and migrates it over to streaming props by keeping the ...
- [React] Implement a Higher Order Component with Render Props
When making a reusable component, you'll find that people often like to have the API they're most fa ...
- 【Cocos2d-x 3.0】游戏开发之win32配置环境搭建project
作者:Senlern 转载请注明,原文链接:http://blog.csdn.net/zhang429350061/article/details/37958275 非常久没有写教程了.如今认为还是要 ...
- eclipse下Tomcat7.0启动奔溃问题
好久没用Eclipse了,如今上班这家公司正好用到了,完后用Tomcat启动项目一直报一个错,例如以下图 错误代码例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...
- vue27-2.0-自定义键盘事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- kafka查询topic属性含义
第一行,列出了topic的名称,分区数(PartitionCount),副本数(ReplicationFactor)以及其他的配置(Config.s) Leader:1 表示为做为读写的broker的 ...
- 内连接INNER JOIN(三十四)
内连接INNER JOIN 一.连接 MySQL的SELECT语句.多表更新.多表删除语句中支持JOIN操作. 语法结构 二.数据表参照 table_reference tbl_name [[AS] ...
- 利用CORS实现跨域请求--转
原文地址:http://newhtml.net/using-cors/ 跨域请求一直是网页编程中的一个难题,在过去,绝大多数人都倾向于使用JSONP来解决这一问题.不过现在,我们可以考虑一下W3C中一 ...