[Luogu P2713] 罗马游戏
题目描述:
雾。
题目分析:
这个SB博主又在水题了。。。
左偏树维护一个小根堆
题目链接:
Luogu 2713
Ac 代码:
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
const int maxm=1100000;
int fa[maxm],rt[maxm],n,m;
int kill[maxm];
int find(int x)
{if(fa[x]==x) return x;return fa[x]=find(fa[x]);
}
struct Left_tree{int son[maxm][2],dis[maxm],siz[maxm],val[maxm];inline int merge(int x,int y){if(!x||!y) return x+y;if(val[x]>val[y]) std::swap(x,y);son[x][1]=merge(son[x][1],y);if(dis[son[x][0]]<dis[son[x][1]]) std::swap(son[x][0],son[x][1]);dis[x]=dis[son[x][1]]+1;siz[x]=siz[son[x][0]]+siz[son[x][1]]+1;return x;}inline int pop(int x){return merge(son[x][0],son[x][1]);}
}heap;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&heap.val[i]);rt[i]=fa[i]=i;}scanf("%d",&m);for(int i=1,u,v;i<=m;i++){char s[10];scanf("%s",s);if(s[0]=='M'){scanf("%d%d",&u,&v);if(kill[u]||kill[v]) continue;int f1=find(u),f2=find(v);if(f1==f2) continue;fa[f2]=f1;rt[f1]=heap.merge(rt[f1],rt[f2]);}else{scanf("%d",&u);if(kill[u]) printf("0\n");else{int f1=find(u);printf("%d\n",heap.val[rt[f1]]);kill[rt[f1]]=1;rt[f1]=heap.pop(rt[f1]); }}}return 0;
}
[Luogu P2713] 罗马游戏相关推荐
- 【洛谷】P2713 罗马游戏
题目地址: https://www.luogu.com.cn/problem/P2713 题目描述: 罗马皇帝很喜欢玩杀人游戏.他的军队里面有nnn个士兵,每个士兵都是一个独立的团.最近举行了一次平面 ...
- 洛谷P2713 罗马游戏
题目传送门 分析: 好吧,其实没什么好分析的,左偏树裸题. Code: #include<cstdio> #include<cstring> #include<cstdl ...
- P2713(罗马游戏 可并堆模板)
题目 ?...凭什么说我不是原创啊... #include<bits/stdc++.h> using namespace std; const int N=1e6+5; int val[N ...
- BZOJ 1455: 罗马游戏( 配对堆 + 并查集 )
可并堆水题 --------------------------------------------------------- #include<bits/stdc++.h> using ...
- nkoj P3138 罗马游戏
nkoj P3138 罗马游戏 问题描述 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团. 最近举行了一次比武测试,每个人都得到了一个分数. 皇帝对那些得分很低的人嗤之以鼻. ...
- 【bzoj1455】罗马游戏 可并堆
[bzoj1455]罗马游戏 可并堆 2016-05-31 10:04:41 可并堆的裸题. 左偏树(小根堆为例 性质 1.满足堆的性质,每个节点权值小于左右儿子权值 2.每个节点有dis值,表示子 ...
- BZOJ1455罗马游戏
左偏树裸题 (搞板子搞到绝望x //罗马游戏 #include <bits/stdc++.h> using namespace std; const int N = 1000050; in ...
- bzoj1455罗马游戏*
bzoj1455罗马游戏 题意: 维护数据结构支持合并和弹出最小值.n≤1000000,m≤100000 题解: 可并堆,注意本题合并时要判断两个节点是否在同一个堆中.本弱写了左偏树和斜堆,发现斜堆比 ...
- 【BZOJ1455】罗马游戏(左偏树)
[BZOJ1455]罗马游戏(左偏树) 题面 BZOJ 然而权限题. 题解 左偏树模板题. #include<iostream> #include<cstdio> #inclu ...
最新文章
- 推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler...
- 外包:卡卡软件简要思路
- centos7 无法启动网络(service network restart)错误解决办法
- [HDU1394]Minimum Inversion Number
- OpenCV字母识别letter recognition的实例(附完整代码)
- SpringMVC @RequestBody ajax传递对象数组
- 求0-999之间的水仙花数。
- 百度初级认证有用吗_知乎“打败”了百度知道吗?
- 腾讯云短信发送api(SendSms)--java
- [Unity插件]Live2D插件学习
- 可视化实验二:大数据可视化工具—Tableau
- 文本分类概述(nlp)
- android 9.0 开机动画,Android bootanim开机动画启动流程
- Hadoop:INFO mapreduce.Job: Running job
- [HNOI2007]紧急疏散evacuate
- 深入了解style标签元素
- C++活到老学到老 auto
- Python-glove学习
- 使用echarts实现3D地图和需要注意的点
- 2022年最新吉林道路运输安全员模拟真题题库及答案
热门文章
- STM32 关键词(1) __weak
- 【Windows】关于Windows 11正式版那些糟心的事儿
- 记录一次糟心的pyinstall安装经历
- 安装SQL2000时出现:安装程序配置服务器失败。参考服务器错误日志和 C:/WINDOWS/sqlstp.log 了解更多信息。
- 其他——调试时chrom崩溃
- java搭建o2o平台_java版 spring cloud+mybatis 构建 b2b2c o2o 多租户电子商务平台
- iwebsec靶场搭建
- 浅谈BI和大数据的关系
- 小豹子单骑追敌(天津美术197310版)扫描版
- 基于FPGA的图像边缘检测系统设计