
左偏树
EMber _
人但有追求,世界亦会让路。
展开
-
bzoj1455罗马游戏
左偏树裸题。#include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #define fo(i,a,b) for(int i=a;i<=b;i++) #define fd(i,a,b) for(int i=a;i>=b;i--) using namespace std; const int N=1e6+5; i原创 2017-04-18 08:53:17 · 251 阅读 · 0 评论 -
bzoj1367 [Baltic2004]sequence
左偏树论文模板题,不过想法很好。。 把序列分成m个区间,答案就是m个区间的中位数,中位数的维护,我们每次只维护当前区间前一半的最大堆,然后如果超过一半就弹出,堆顶就是中位数。#include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #define fo(i,a,b) for(int i=a;i<=b;i++)原创 2017-04-18 09:44:59 · 421 阅读 · 0 评论 -
bzoj3011: [Usaco2012 Dec]Running Away From the Barn 可并堆(左偏树)
题意:给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于l的点有多少个。n<=2e5,l<=1e18随手抽了一道,以为是个水题,刷水不成反被刷。 一开始觉得这题不难,然后样例老过不去,然后看zyf2000的代码。。还是错的,最后直接拿她的交了一下,结果是错的。。一怒之下删掉重写。。 开始想的是倍增什么的,但是好像不好动态维护,而且复杂度好大。。 然后这就只能可并堆咯,堆维护每个子树内距原创 2017-10-31 16:51:06 · 272 阅读 · 0 评论