
Splay
Duan2baka
人
展开
-
BZOJ[2733][HNOI2012]永无乡 Splay启发式合并
题目链接题目大意及线段树合并解法在这里每合并两个点,将它俩启发式合并 启发式合并,即把小的暴力往大的那里插 说按前序遍历插复杂度会极其优越??第k大是平衡树基本操作代码如下:#include<algorithm>#include<ctype.h>#include<cstdio>#define N 100050using namespace std;inline int read(){原创 2017-12-29 15:44:30 · 457 阅读 · 0 评论 -
BZOJ[1112][POI2008]砖块Klo Splay
传送门ber~对于长度为kkk的区间,取的一定是他们的中位数(第k+12k+12\frac {k+1}{2}大的数) 现在要不断挪动这个区间(添加,删除),那么对于这三个操作,一棵平衡树就可以实现啦!代码如下:#include<algorithm>#include<ctype.h>#include<cstdio>#define N 100...原创 2018-02-08 18:09:35 · 279 阅读 · 0 评论 -
BZOJ[4071][Apio2015]巴邻旁之桥 Splay
传送门ber~考虑k=1k=1k=1的情况 设桥的位置是xxx,那么dis=Σ1≤i≤n∣ai−x∣+∣bi−x∣dis=Σ1≤i≤n∣ai−x∣+∣bi−x∣dis=\Sigma_{1\le i\le n}\mid a_i-x\mid+\mid b_i-x\mid 只要把a,ba,ba,b放一起排序取中位数就可以了那么k=2k=2k=2时怎么办 发现每个人(x,y)(x,y)(x,...原创 2018-02-08 20:40:59 · 312 阅读 · 0 评论 -
BZOJ[1901]Zju2112 Dynamic Rankings 树套树(线段树套Splay)
传送门ber~少了几个操作的二逼平衡树 简化了我的Delete函数emmm行行行过几天打一遍主席树版本的(18/1/29UPD):线段树套树状数组看这里代码如下:#include#include#include#define INF 2147483647#define N 10020using namespace std;inline int read(){原创 2018-01-27 16:49:42 · 421 阅读 · 0 评论 -
BZOJ[1691][Usaco2007 Dec]挑剔的美食家 贪心+Splay
传送门ber~先都按价格排序 从小到大枚举稻草,同时将价格小于他的牛记录一下(被记录的都满足价格够了) 然后找这个稻草鲜嫩度的前驱(可以相等)(这个草能满足的最大的鲜嫩度) 用Splay就可以了代码如下:#include<algorithm>#include<ctype.h>#include<cstdio>#define INF 2147...原创 2018-03-08 10:02:44 · 246 阅读 · 0 评论