BZOJ1455罗马游戏
左偏树裸题
(搞板子搞到绝望x
//罗马游戏 #include <bits/stdc++.h> using namespace std; const int N = 1000050; int val[N], l[N], r[N], d[N], fa[N]; int x, y, n, m; char ord; // 合并以 x, y为根的堆,返回合并后的堆顶 int merge(int x, int y) {if(!x||!y) return x|y; // 键值小的作为堆顶if (val[x] > val[y]) swap(x, y);r[x] = merge(r[x], y); // 维护左偏性质if (d[r[x]] > d[l[x]])swap(l[x], r[x]); // 重新计算距离d[x] = d[r[x]] + 1;return x; }int find(int x) {if(fa[x] == x) return x;else return fa[x] = find(fa[x]);}int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d", &val[i]);fa[i] = i;}scanf("%d", &m);for (int i = 1; i <= m; i++) {cin >> ord;if (ord == 'M') {scanf("%d%d", &x, &y);if (val[x] < 0 || val[y] < 0) continue;x = find(x), y = find(y);if (x != y) {int t = merge(x, y);fa[x] = fa[y] = t;}} else {scanf("%d", &x);if (val[x] < 0) {puts("0");continue;}x = find(x);printf("%d\n", val[x]);val[x] = -1;fa[x] = merge(l[x], r[x]);fa[fa[x]] = fa[x];}}return 0; }
转载于:https://www.cnblogs.com/phemiku/p/11620758.html
BZOJ1455罗马游戏相关推荐
- bzoj1455罗马游戏*
bzoj1455罗马游戏 题意: 维护数据结构支持合并和弹出最小值.n≤1000000,m≤100000 题解: 可并堆,注意本题合并时要判断两个节点是否在同一个堆中.本弱写了左偏树和斜堆,发现斜堆比 ...
- bzoj1455 罗马游戏
Description 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团.最近举行了一次平面几何测试,每个人都得到了一个分数. 皇帝很喜欢平面几何,他对那些得分很低的人嗤之以鼻 ...
- BZOJ1455: 罗马游戏
裸可并堆 #include<cstdio> #include<iostream> #include<cstring> #include<cmath> # ...
- [bzoj1455]罗马游戏
题目大意 需要兹瓷集合合并与删去集合内最小值. 可并堆 还能说什么呢,裸的-- #include<cstdio> #include<algorithm> #define fo( ...
- 【bzoj1455】罗马游戏 可并堆
[bzoj1455]罗马游戏 可并堆 2016-05-31 10:04:41 可并堆的裸题. 左偏树(小根堆为例 性质 1.满足堆的性质,每个节点权值小于左右儿子权值 2.每个节点有dis值,表示子 ...
- 【BZOJ1455】罗马游戏(左偏树)
[BZOJ1455]罗马游戏(左偏树) 题面 BZOJ 然而权限题. 题解 左偏树模板题. #include<iostream> #include<cstdio> #inclu ...
- BZOJ 1455: 罗马游戏( 配对堆 + 并查集 )
可并堆水题 --------------------------------------------------------- #include<bits/stdc++.h> using ...
- nkoj P3138 罗马游戏
nkoj P3138 罗马游戏 问题描述 罗马皇帝很喜欢玩杀人游戏. 他的军队里面有n个人,每个人都是一个独立的团. 最近举行了一次比武测试,每个人都得到了一个分数. 皇帝对那些得分很低的人嗤之以鼻. ...
- 【BZOJ1455】罗马游戏
[题目链接] 点击打开链接 [思路要点] 可并堆模板题. [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 10 ...
最新文章
- python 使用sax 解析xml 文件
- R 数据可视化 : 热图
- 你不知道的JavaScript系列(一)—— 类型
- Davinci DM6446开发攻略-UBOOT-2009.03移植2 nand flash的烧写
- [翻译 EF Core in Action 1.7] MyFirstEfCoreApp访问的数据库
- Anaconda创建虚拟环境报错—UnavailableInvalidChannel: The channel is not accessible or is invalid
- 创建 Refs 的几种方式
- 实现网页布局的自适应 利用@media screen
- Axure中SVG矢量图标的使用方法
- 蓝桥杯 c语言入门试题,蓝桥杯c语言试题2015
- 浅谈视频会议系统的运行与维护
- 5分钟外设学堂:耳机不响别慌,换个插头能救活!
- 教你如何有效防止DDos攻击?
- 唯一ID生成算法剖析,看看这篇就够了
- js过滤对象中值为空的属性
- [面经整理] 机器/深度学习补充篇
- linux下Kdevelop开发基本步骤
- 我的成神之路!Python 兵器谱(绝世神兵!收藏必备!)
- secret-performance-desktop - 基于javafx的桌面个性化工具
- 移动端调试 chrome://inspect/#devices 钉钉开发Android调试微应用
热门文章
- Linux中更新pycharm即删除旧的pycharm,装新的pycharm
- w10系统excel无法启动服务器,w10excel无法打开怎么办_解决win10系统无法打开excel的方法...
- 自定义 Behavior
- 测试cpu单核分数软件,最新geekbench5 CPU跑分天梯排行榜
- 学习VSC配置opencv
- win10一直正在检查更新_win10补丁KB4587587推送 win10预览版20236.1005更新内容汇总_windows10_Windows系列_操作系统...
- gb和gib的区别_KB/KiB,MB/MiB,GB/GiB,它们有区别吗?
- 动漫游戏培训机构如何用抖音快手招生
- 福布斯荐75本经商必读
- 探讨一下如何防止撞库。