可并堆
文章平均质量分 72
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[HDU1512]Monkey King(可并堆)
题目描述传送门题解左偏树裸题 这道题和上一道题不同的是删除了一个节点之后还要用它,所以要把dis ls rs清干净 其实这道题没有什么会把一些节点指到空节点的情况,因为删除的点一定会再并回去代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namesp原创 2017-01-06 20:00:51 · 485 阅读 · 0 评论 -
[BZOJ1455]罗马游戏(可并堆)
题目描述传送门题解左偏树裸题 splay启发式合并是不是太慢了? 注意! 如果有一个人x被杀掉了,那这个点就没有用了,这个点不能留在这一棵左偏树里 但是必须将x的代表元素改成新的树根,因为在原树里很多点的代表元素是指向x的,如果不修改的话就相当于把这些点指向了一个空节点 合并两棵之前没有交集的子树的时候就可以直接将把两个根的代表元素指向新的根,这样就保证了所有的点都指向了新根代码#incl原创 2017-01-06 19:49:38 · 573 阅读 · 0 评论 -
[BZOJ3011][Usaco2012 Dec]Running Away From the Barn(可并堆)
题目描述传送门题解首先这道题是<=而不是<… 在树上自底向上维护左偏树(大根堆),每一个点的权值是点到根的距离 每次将所有的儿子并到父亲上,就代表了一棵子树 如果最大的点的权值已经超过了l的话就弹顶 再动态维护一下size代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<c原创 2017-01-06 20:56:49 · 768 阅读 · 0 评论 -
[BZOJ1078][SCOI2008]斜堆(可并堆)
题目描述传送门题解没觉得这种专门考某一个算法的题目非常吃屎么= = 刚看题的时候我都不知道什么是斜堆…一直以为可以用左偏树什么的写…而且还非常智障地读错题了… 不过也好,做了这道题之后就能基本了解一些斜堆的性质,,当成是入门题吧… 附神犇的题解:【AHOI2013复仇】SCOI2008 斜堆代码#include<algorithm>#include<iostream>#include<cs原创 2017-01-07 21:46:32 · 513 阅读 · 0 评论 -
[BZOJ2333][SCOI2011]棘手的操作(可并堆||线段树+离线)
题目描述传送门题解对没错总会有一道题分到这个编号…233333第一眼想到线段树,处理生成树(重新编号)使在任何时间在同一个连通块里的点都在一个连续的区间,然后搞搞搞就可以了 然而要是换成可并堆的话操作还真是棘手啊…首先我们要维护两种可并堆(一个可并堆和一个splay也可以…),以下简称a堆和b堆 a堆是按照题目中的操作合并的,也就是说有若干个小堆 b堆只有一个堆,维护的是所有a堆的堆顶(最大值原创 2017-01-07 15:18:39 · 956 阅读 · 0 评论