题目
?。。。凭什么说我不是原创啊。。。

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int val[N],f[N],ls[N],rs[N],dis[N],die[N];char s[3];
int seek(int x){return (x==f[x])?(x):(f[x]=seek(f[x]));}
int combine(int x,int y){if(!x||!y) return x+y;if(val[x]>val[y]) swap(x,y);rs[x]=combine(rs[x],y);if(dis[ls[x]]<dis[rs[y]]) swap(ls[x],rs[x]);if(!ls[x]||!rs[x]) dis[x]=0;else dis[x]=dis[rs[x]]+1;return x;
}
int main(){int n,m;scanf("%d",&n);for(int i=1;i<=n;++i) scanf("%d",&val[i]),f[i]=i;scanf("%d",&m);for(int i=1;i<=m;++i){scanf("%s",s);if(s[0]=='M'){int x,y;scanf("%d%d",&x,&y);if(die[x]||die[y]) continue;int rx=seek(x),ry=seek(y);if(rx!=ry) f[rx]=f[ry]=combine(rx,ry);}else{int x;scanf("%d",&x);if(die[x]) {puts("0");continue;}int rx=seek(x);die[rx]=1;int t=combine(ls[rx],rs[rx]);//注意这里每次删除的都是堆顶 即二叉树的rootf[rx]=f[t]=t;printf("%d\n",val[rx]);}}
}

P2713(罗马游戏 可并堆模板)相关推荐

  1. 【bzoj1455】罗马游戏 可并堆

    [bzoj1455]罗马游戏 可并堆 2016-05-31  10:04:41 可并堆的裸题. 左偏树(小根堆为例 性质 1.满足堆的性质,每个节点权值小于左右儿子权值 2.每个节点有dis值,表示子 ...

  2. 【洛谷】P2713 罗马游戏

    题目地址: https://www.luogu.com.cn/problem/P2713 题目描述: 罗马皇帝很喜欢玩杀人游戏.他的军队里面有nnn个士兵,每个士兵都是一个独立的团.最近举行了一次平面 ...

  3. [Luogu P2713] 罗马游戏

    题目描述: 雾. 题目分析: 这个SB博主又在水题了... 左偏树维护一个小根堆 题目链接: Luogu 2713 Ac 代码: #include <cstdio> #include &l ...

  4. 洛谷P2713 罗马游戏

    题目传送门 分析: 好吧,其实没什么好分析的,左偏树裸题. Code: #include<cstdio> #include<cstring> #include<cstdl ...

  5. BZOJ 1455: 罗马游戏( 配对堆 + 并查集 )

    可并堆水题 --------------------------------------------------------- #include<bits/stdc++.h> using ...

  6. nkoj P3138 罗马游戏

    nkoj P3138 罗马游戏 问题描述 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团. 最近举行了一次比武测试,每个人都得到了一个分数. 皇帝对那些得分很低的人嗤之以鼻. ...

  7. BZOJ1455罗马游戏

    左偏树裸题 (搞板子搞到绝望x //罗马游戏 #include <bits/stdc++.h> using namespace std; const int N = 1000050; in ...

  8. bzoj1455罗马游戏*

    bzoj1455罗马游戏 题意: 维护数据结构支持合并和弹出最小值.n≤1000000,m≤100000 题解: 可并堆,注意本题合并时要判断两个节点是否在同一个堆中.本弱写了左偏树和斜堆,发现斜堆比 ...

  9. 【BZOJ1455】罗马游戏(左偏树)

    [BZOJ1455]罗马游戏(左偏树) 题面 BZOJ 然而权限题. 题解 左偏树模板题. #include<iostream> #include<cstdio> #inclu ...

最新文章

  1. python检查列表是否为空_Python 中判断列表是否为空的方法
  2. JSOI2012-夏令营 Mar Maps
  3. mxnet arg_params, aux_params
  4. [HNOI2002]彩票
  5. Lucene下载及测试
  6. 岭回归不仅仅是正则化作用
  7. 智能指针shared_ptr
  8. SX1268与SX1278、SX1276对比分析以及选型南
  9. 实验人员考评指标_了解实验指标
  10. 阿里P8架构师谈:Zookeeper的原理和架构设计,以及应用场景
  11. html中的波浪线,CSS3 波浪线
  12. 使用 putty 免密码 ssh 登录 mac os
  13. ajax正确返回数据,却进入了error分支
  14. Nginx负载均衡,ssl原理,生成ssl密钥对,Nginx配置ssl
  15. GO 计算所有并发任务的总时间 WaitGroup
  16. 在linux服务器上安装jdk
  17. python入门学校_如何学习Python,以及新手如何入门?
  18. 苹果开发者账号申请 之 公司开发者账号申请2021年
  19. 分析泰坦尼克号沉船数据 机器学习告诉你谁获救概率更大
  20. 【渝粤教育】广东开放大学 行政组织学 形成性考核 (34)

热门文章

  1. c语言整数编年历系统,作为程序员必须知道的编程语言编年史
  2. 内大教务系统教学评估
  3. 知识分享:游戏音乐分类
  4. mysql5.7查询连续登录/连续签到天数
  5. animals中文谐音_animal怎么读
  6. 产业与团队合作 Intel共同拓展IoT / AI科技新版图
  7. 58同城2021秋招数据分析笔试
  8. R沟通 | 如何在Typora中设置免费的图床
  9. 吃鸡显示服务器人太多,《绝地求生》回应服务器不给力:玩家太多
  10. 测试cpu性能和显卡性能的工具