![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树套树
里阿奴摩西
这个作者很懒,什么都没留下…
展开
-
[树状数组套权值线段树] BZOJ 1901 Zju2112 Dynamic Rankings
模板题吧 很多题解都是套主席树 没必要吧 #include #include #include #define V G[p].v using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=bu原创 2016-05-13 16:24:18 · 653 阅读 · 0 评论 -
[树状数组套权值线段树 || 分块] BZOJ 2120 数颜色 & BZOJ 2453 维护队列
这个么 直接询问 [l,r][l,r]中 pre<lpre<l 的数就好了#include<cstdio> #include<cstdlib> #include<algorithm> #include<set> using namespace std;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==原创 2017-03-13 13:54:01 · 381 阅读 · 0 评论 -
[Treap套权值线段树 线段树分裂与合并] BZOJ 4552 [Tjoi2016&Heoi2016]排序
线段树合并写了不少 分裂是第一次 直接每一个有序区间用一棵权值线段树维护有哪些数 外层用treap维护顺序 然后排序就把代表这段的很多颗线段树合并在一起 两端处会割开某个有序区间 会涉及分裂操作#include<cstdio> #include<cstdlib> #include<algorithm> using namespace std;inline char nc(){ static原创 2017-01-30 19:34:55 · 1306 阅读 · 0 评论 -
[主席树套堆 区间修改 标记永久化] BZOJ 3489 A simple rmq problem
“因为是OJ上的题,就简单点好了。” Orz 看看贴吧吧:http://tieba.baidu.com/p/2947256742#47989538012l 记一下next 从左到右 删了之前的标记 再从这个点到next-1都打标记 然后就可以查询了 按一个坐标离线做强制转在线么 用主席树好了 第一次打主席树区间修改 空间两个log 不过这个的前提是标记永久化 不然就是n2了原创 2016-05-13 16:17:40 · 1196 阅读 · 0 评论 -
[主席树 树状数组套权值线段树] BZOJ 1146 [CTSC2008]网络管理Network
CTSC的裸题么 先建主席树 然后修改么 可以发现对整棵子树有影响 对每个点记录每个权值的改变量 然后用差分的思想 用树状数组区间修改 单点查询 A掉后发现不用打主席树 可以最初的权值也可以树状数组上改 结果稍微改下程序 慢了5倍233 #include #include #include #define V G[p].v using namespace std;原创 2016-05-13 21:50:46 · 902 阅读 · 0 评论 -
[二维线段树] BZOJ 1513 [POI2006]Tet-Tetris 3D
二维线段树 算个模板题吧 区间赋值 区间max 一遇到带标记的树套树就蛋疼 怎么说呢 标记永久化 就不用下传了 从根到某个节点的区间上的路径自顶向下顺着递归的顺序修改 就省去了pushup #include #include #include using namespace std; typedef long long ll; inline char nc() { stat原创 2016-05-16 21:33:19 · 459 阅读 · 0 评论 -
[整体二分 || 树套树 || 点分治] BZOJ 4009 [HNOI2015]接水果
整体二分的做法题解很多:http://blog.csdn.net/thy_asdf/article/details/50363672 点分治么 还不会233 树套树么 ORZ 打的整体二分 #include #include #include using namespace std; inline char nc() { static char原创 2016-05-16 21:38:12 · 604 阅读 · 0 评论 -
[权值线段树套kd树 替罪羊式重构] BZOJ 4605 崂山白花蛇草水
就是个树套树 就是claris的剪枝好神ORZ #include #include #include #include using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+f原创 2016-05-29 21:26:23 · 1210 阅读 · 0 评论 -
[整体二分 树状数组套线段树] BZOJ 2674 Attack
大暴力啊 96s+卡过 //本地明明44s+ //要了数据才知道相对顶点可以不是左下和右上 #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+frea原创 2016-06-06 18:22:48 · 644 阅读 · 0 评论 -
[线段树套平衡树] BZOJ 2883 gss2加强版
每个数支持出现一次 那么给每个数再赋一个权值pre 每次查询只要查[L,R]中pre 结果splay被卡了 打了个treap #include #include #include #include #define N 100010 using namespace std; typedef long long ll; inline char nc() { static char b原创 2016-05-16 21:30:41 · 583 阅读 · 0 评论 -
[最短路 Bfs 二维线段树] JOI Open Contest 2017 Golf
题目大意:给出平面上n个不相交的矩形障碍,以及起点和终点,要求从起点走到终点的折线段段数最少 VIEW PROBLEM - GOLF (JOI17_GOLF)首先最优解肯定可以只在矩形边所在的直线以及过起点终点平行坐标轴的直线上移动 先预处理出矩形边界能够左右上下延伸的最远距离,转化成一些线段,可以扫描线加线段树 然后就直接bfs,关键操作是找出所有跟当前线段相交的且没被走过的线段,可以把线段原创 2017-07-05 07:44:48 · 643 阅读 · 0 评论