UESTC 32 树上战争(Battle on the tree)
这题其实很简单,每个人肯定都往上走,才能保证尽快赢,所以无非是看谁离根节点近,即深度小。。用并查集中的findset思想,不断找父节点一直到根节点来找深度就可以了。
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define N 100007 int fa[N],n,cnt; void init()
{
for(int i=;i<=n;i++)
fa[i] = i;
} void findset(int x)
{
if(x != fa[x])
{
findset(fa[x]);
cnt++;
}
} int main()
{
int m,a,b,x,y,i;
while(scanf("%d%d",&n,&m)!=EOF && (n||m))
{
init();
for(i=;i<n-;i++)
{
scanf("%d%d",&a,&b);
fa[b] = a;
}
while(m--)
{
scanf("%d%d",&x,&y);
cnt = ;
findset(x);
int kx = cnt;
cnt = ;
findset(y);
int ky = cnt;
if(kx <= ky)
puts("lxh");
else
puts("pfz");
}
}
return ;
}
UESTC 32 树上战争(Battle on the tree)的更多相关文章
- cdoj 树上战争(Battle on the tree) Label:并查集?
		
给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜. Input 输入包含多组数据 每组第 ...
 - cdoj32-树上战争(Battle on the tree)                              【记忆化搜索】
		
http://acm.uestc.edu.cn/#/problem/show/32 树上战争(Battle on the tree) Time Limit: 12000/4000MS (Java/Ot ...
 - 树上战争(HDU 2545 并查集求解点到根节点长度)
		
树上战争 Time Limit: 10000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
 - hdu 2545 树上战争(并查集)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2545 树上战争 Time Limit: 10000/4000 MS (Java/Others) ...
 - UESTC_树上战争 CDOJ 32
		
给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜. Input 输入包含多组数据 每组第 ...
 - 神奇的树上启发式合并 (dsu on tree)
		
参考资料 https://www.cnblogs.com/zhoushuyu/p/9069164.html https://www.cnblogs.com/candy99/p/dsuontree.ht ...
 - 树上启发式合并 (dsu on tree)
		
这个故事告诉我们,在做一个辣鸡出题人的比赛之前,最好先看看他发明了什么新姿势= =居然直接出了道裸题 参考链接: http://codeforces.com/blog/entry/44351(原文) ...
 - HDU 2545 树上战争 (并查集+YY)
		
题意:给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,lxh总是先移动 ,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜 比较有意思的 ...
 - UESTC 912 树上的距离 --LCA+RMQ+树状数组
		
1.易知,树上两点的距离dis[u][v] = D[u]+D[v]-2*D[lca(u,v)] (D为节点到根节点的距离) 2.某条边<u,v>权值一旦改变,将会影响所有以v为根的子树上的 ...
 
随机推荐
- 我见过的几门语言中的hello world
			
1.Java public class hello { public static void main(String[] args){ System.out.println("hello w ...
 - python面向对象(一),Day6
			
connfigparser模块 xml模块 shutil模块以及压缩解压 subprocess模块 面向对象(上) 类和对象 onfigParser 用于对特定的配置进行操作,当前模块的名称在 pyt ...
 - [Redis] redis-cli 命令总结
			
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如使用Redis 的Java语言包,这些命令都有对应的方法.下面将R ...
 - 被混淆的C#类库的反编译
			
今天看公司以前的代码,用的是.NRT Reactor v4.4.7.5进行的混淆,直接使用.NET Reflector v8.5.0.179 是无法查看的,提示:Invalid number of d ...
 - MySQL数据库中字符集的问题
			
今天在做Hibernate案例,往mysql中写记录的时候,出现ERROR: Incorrect string value: '\xE5\x8A\xA0\xE5\x86\x85...' for col ...
 - IOS 实现 AAC格式 录音 录音后自动播放
			
废话不说了 不知道aac可以百度一下 下面直接上代码,一个h文件 一个m文件 搞定! #import <AVFoundation/AVFoundation.h> #import <U ...
 - swift 字符转为类,代码创建控件
			
在使用类之前要先获得 命名空间 通过json来获取 字符型的类名 然后创建类对象,这时候就要用到字符转类 // 从info字典中获取到 命名空间 转为字符型 let NS = NSBundle.mai ...
 - 我的android学习经历12
			
自动匹配输入的内容(文章最后有一个问题有兴趣的可以解答一下,谢谢大神了) 这个主要是两个控件MultiAutoCompleteTextView和AutoCompleteTextView 这两个控件和T ...
 - IOS中文版资源库
			
Swift 语言写成的项目会被标记为 ★ ,AppleWatch 的项目则会被标记为 ▲. [转自]https://github.com/jobbole/awesome-ios-cn#librari ...
 - Android平台二维码之生成,扫描 & 识别
			
1.二维码的前世今生 “二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利 ...