![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
可并堆
里阿奴摩西
这个作者很懒,什么都没留下…
展开
-
[三进制倍增 || 可并堆] BZOJ 4003 [JLOI2015]城池攻占
蒟蒻想起来自己还不会可并堆诶出题人卡倍增,那么淡定的写了个三进制倍增#include#include#include#include#include#include#include#define V G[p].vusing namespace std;inline char nc(){ static char buf[100000],*p1=buf,原创 2016-04-30 14:02:10 · 689 阅读 · 0 评论 -
[可并堆] BZOJ 1078 [SCOI2008]斜堆
Orz mato大神的题解:http://www.cppblog.com/MatoNo1/archive/2012/10/07/192131.html实际上这道题并没有要写可并堆,只是考察了斜堆的性质斜堆是可合并堆的一种实现形式,其更稳定的实现是左偏树(斜堆只能做到均摊logN,而左偏树则可以严格做到每次操作O(logN))。斜堆最典型的特点,上面已经说过了,如果一原创 2016-04-30 16:46:16 · 397 阅读 · 0 评论 -
[Random Heap 并查集] BZOJ 1455 罗马游戏
裸的可并堆 Random Heap 还是很兹瓷啊#include#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fre原创 2016-04-30 16:07:31 · 382 阅读 · 0 评论 -
[可并堆] BZOJ 2333 [SCOI2011]棘手的操作
诶,脑子不好使了一道裸题调了一晚上...#include#include#include#include#includeusing namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000原创 2016-04-30 20:42:02 · 483 阅读 · 0 评论 -
[可并堆] BZOJ 2809 [Apio2012]dispatching
考虑倒着想 每次弹出最大值知道费用#include#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf原创 2016-04-30 21:10:53 · 313 阅读 · 0 评论 -
[可并堆 中位数] BZOJ 1367 [Baltic2004]sequence
结论见论文:http://wenku.baidu.com/link?url=t55yGX-UkUdEXBhpvBwuzjKP16F7lFl0RKSVVBBW5zXWRB7rRXvLLj1jM-pzhbH834hQl0KKT4va247VmSepsGDSrYF1E3le_WpnKc2xfCi可并堆维护中位数 当size>tot/2+1时弹出堆顶最大值把递增化为不降 只需减个下标即可原创 2016-05-02 21:22:19 · 698 阅读 · 0 评论 -
[可并堆] BZOJ 3011 [Usaco2012 Dec]Running Away From the Barn
复习下可并堆 想知道还有没有别的做法#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100原创 2016-07-16 17:45:48 · 289 阅读 · 0 评论 -
[DP 可并堆维护凸包优化] BZOJ 4585 [Apio2016]烟火表演
垂死梦中惊坐起,膜拜神犇王梦迪#include#include#includeusing namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread原创 2016-08-28 18:42:59 · 1915 阅读 · 0 评论