题目传送门

这题和洛谷上的左偏树模板的解题思路是一模一样的,所以只要贴上左偏树的模板就好了。

附上AC代码:

#include <cstdio>
#include <cctype>
#include <algorithm>
#define N 1000010
using namespace std;int n,m,dis[N],w[N],x,y,f[N],ls[N],rs[N];void read(int& a){static char c=getchar();a=0;int f=1;while (!isdigit(c)) {if (c=='-') f=-1;c=getchar();}while (isdigit(c)) a=a*10+c-'0',c=getchar();
}int gf(int x){while (f[x]) x=f[x];return x;
}int hb(int a,int b){if (a*b==0) return a+b;if (w[a]>w[b]||(w[a]==w[b]&&a>b)) swap(a,b);rs[a]=hb(rs[a],b);f[rs[a]]=a;if (dis[ls[a]]<dis[rs[a]]) swap(ls[a],rs[a]);dis[a]=dis[rs[a]]+1;return a;
}int main(void){read(n),dis[0]=-1;for (int i=1; i<=n; ++i) read(w[i]);read(m);while (m--){char c=getchar();while (c!='M'&&c!='K') c=getchar();switch (c){case 'M':read(x),read(y);if (w[x]==-1||w[y]==-1) continue;x=gf(x),y=gf(y);if (x!=y) hb(x,y);break;case 'K':read(x);if (w[x]==-1) puts("0");else {x=gf(x),printf("%d\n",w[x]),w[x]=-1;f[ls[x]]=f[rs[x]]=0,hb(ls[x],rs[x]);}break;}}
}

orzLYF大佬,如此的强,在半个月前就把这题A掉了。别问我是怎么知道的。

(因为这题需要权限,而我又没有氪金,所以交这题时我用的是他的号。别问我是怎么知道他的密码的)

【BZOJ】1455 罗马游戏 左偏树相关推荐

  1. BZOJ 1455 罗马游戏

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

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

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

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

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

  4. 【左偏树】【bzoj 2333】: [SCOI2011]棘手的操作

    http://www.lydsy.com/JudgeOnline/problem.php?id=2333 带lazy的左偏树,由于我不会写,所以借(chao)鉴(xi)了一下hzwer #includ ...

  5. 【学习笔记】浅谈短小可爱的左偏树(可并堆)

    文章目录 左偏树 左偏树的合并(merge)操作 例题 罗马游戏 [Apio2012]dispatching [JLOI2015]城池攻占 [Baltic2004]sequence 左偏树 左偏树是一 ...

  6. 【左偏树】【P3261】 [JLOI2015]城池攻占

    Description 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池.这 n 个城池用 1 到 n 的整数表示.除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其 ...

  7. [2018.12.6]左偏树

    其实NOIp之前就学会了...结果咕到了现在... 我们都知道堆.但是很少有人会手写堆.因为我们有STL,而且手写堆码量不小(据说是吧?没写过). 而且堆的\(Merge\)操作又慢又麻烦. 于是就有 ...

  8. 《程序设计解题策略》——1.6 利用左偏树实现优先队列的合并

    本节书摘来自华章计算机<程序设计解题策略>一书中的第1章,第1.6节,作者:吴永辉 王建德 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.6 利用左偏树实 ...

  9. 【洛谷3377】 左偏树(可并堆)

    前言 其实我是不小心翻线性基的时候看见的. Solution 左偏树只会模板,挖坑待补 代码实现 #include<stdio.h> #include<stdlib.h> #i ...

最新文章

  1. Rational Rose正逆向工程(类图转Java代码,Java代码转类图)
  2. 可以ping通 但ssh: connect to host 192.168.0.2 port 22: Connection refused
  3. 【LeetCode笔记】406. 根据身高重建队列(Java、偏数学)
  4. VMware vSphere 6.7主机与虚拟机高级管理
  5. Apache20、lighttpd、nginx的比较[zt]
  6. 实话实说!为什么说闷头学Python是自欺欺人?
  7. cordova 安卓文件多选_LAMMPS从研一到延毕:利用MS建模生成反应力场所需的data文件...
  8. 《Java Web开发入门很简单》学习笔记
  9. java中aotomicInteger_面试官:你说一下对Java中的volatile的理解吧!
  10. win10 安装 framework3.5
  11. epoll的两种触发模式ET和LT
  12. 柴静《看见》发布会。。。
  13. 电脑定时执行的软件 - 定时执行专家
  14. 【建模算法】Python调用Gurobi求解TSP问题
  15. css朗逸保险丝盒机舱,【朗逸保险盒】朗逸保险盒位置图解、拆卸方法_车主指南...
  16. 《房债》书中的精髓:现代金融系统让全世界的人同处一艘经济大船上,一些人搞坏了船,所有的人都跟着遭殃。
  17. 羲和能源大数据平台使用教程
  18. redis发布订阅与集群
  19. (C语言)写一个函数,实现两个字符串的比较, 即自己写一个strcmp函数,函数原型为int strcmp(const char* p1, const char* p2)
  20. B1030 (完美数列)

热门文章

  1. 【人工智能】人脸颜值研究综述
  2. 杭漂十年!我从「租客」到「房东」
  3. BZOJ 1038: [ZJOI2008]瞭望塔
  4. 机器学习为什么使用归一化? 有哪些归一化算法?
  5. 信道编码译码(ECC)学习笔记
  6. PC DMIS三坐标产品测量编程视频教程+资料
  7. C语言 一元二次方程
  8. Hadoop大数据平台实践(二):Hadoop生态组件的学习文档
  9. 价值文明的新纪元——解析Nirvana Chain钱包生态
  10. 佛罗伦萨小镇与雅诗阁中国达成战略合作;日立电梯25年来为中国市场提供93万台电梯 | 美通企业日报...