博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zoj 2334 Monkey King 左偏树+并查集
阅读量:4991 次
发布时间:2019-06-12

本文共 938 字,大约阅读时间需要 3 分钟。

题意:有一群猴子,每一只有一定的强壮值

刚开始,每个人都不认识别人

有m次争吵

若x,y争吵

如果 x认识y 输出-1

如果x不认识y 则x认识的猴子中(包括自己)当前强壮值最大的和y认识的猴子中(包括自己)当前强壮值最大的决斗

决斗完之后,决斗的两只猴子,强壮值减半(10->5,5->2) 且x认识的猴子和y认识的猴子都相互认识了 输出其中当前强壮值的最大值

多组数据

 

思路:左偏树

 

1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 #define MAXN 100000+100 8 struct node 9 {10 int num,NPL;11 int left,right;12 };13 node tree[MAXN];14 int n,m;15 int f[MAXN],root[MAXN];16 int find(int x)17 {18 return f[x]==-1? x:f[x]=find(f[x]);19 }20 int Union(int x,int y)21 {22 f[find(x)]=find(y);23 }24 int merge(int x,int y)25 {26 if(x==0) return y;27 if(y==0) return x;28 if(tree[y].num>tree[x].num) 29 swap(x,y);30 tree[x].right=merge(tree[x].right,y);31 32 if(tree[tree[x].left].NPL

 

 

 

 

转载于:https://www.cnblogs.com/myoi/archive/2012/05/19/2509126.html

你可能感兴趣的文章
Android属性动画
查看>>
第九周作业
查看>>
hihocoder 1523 数组重排2+思维
查看>>
004 面向对象1
查看>>
C语言——贪吃蛇(第二阶段小蛇的移动
查看>>
牛客网——二叉树
查看>>
MyEclipse反编译插件的安装
查看>>
php RSA 简单实现
查看>>
python_Day4
查看>>
mongo3.0用户设置转(3)
查看>>
2018.3 强网杯 部分writeup
查看>>
架构师速成6.18-初中书单资料推荐
查看>>
linux系统的安装
查看>>
Java设计模式菜鸟系列(十三)建模和实现状态模式
查看>>
《Hadoop》对于高级编程Hadoop实现构建企业级安全解决方案
查看>>
android ndk通过遍历和删除文件
查看>>
Notification(一个)——使用演示样本的基础知识
查看>>
《算法导论》为什么经典
查看>>
windows如何能在“运行”框输入名称就启动相应的软件
查看>>
修复反编译资源文件及批量修复程序源码
查看>>