树套树
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
二逼平衡树[树套树模板]
题目描述您需要写一种数据结构,来维护一个有序数列,其中需要提供以下操作: 查询k在区间内的排名 查询区间内排名为k的值 修改某一位值上的数值 查询k在区间内的前驱(前驱定义为严格小于x,且最大的数,若不存在输出-2147483647) 查询k在区间内的后继(后继定义为严格大于x,且最小的数,若不存在输出2147483647) 输入格式:第一...原创 2018-10-18 20:33:25 · 171 阅读 · 0 评论 -
P1975 [国家集训队]排队 [树状数组套权值线段树]
传送门要求查区间大于/小于某个数的个数, 单点修改, 树状数组维护区间, 每一个内部节点建一棵权值线段树就好每次交换时更新一下贡献// 树状数组套权值线段树 #include<bits/stdc++.h>#define N 20050#define LL long longusing namespace std;int n,m,a[N],b[N],rt[N],t...原创 2019-02-07 16:51:19 · 261 阅读 · 0 评论 -
P3157 [CQOI2011]动态逆序对 [树状数组套权值线段树]
传送门发现每删除一个数, 对答案的贡献是前面大于它的和后面小于它的, 加上一个单点修改, 写一个树套数就可以了#include<bits/stdc++.h>#define N 100050#define LL long longusing namespace std;int read(){ int cnt=0; char ch=0; while(!isdigit(...原创 2019-02-07 17:22:07 · 157 阅读 · 0 评论 -
CF1093E Intersection of Permutations [树套树]
传送门假设一个数在A中的出现位置为x, B中为y一个数有贡献, 当且仅当发现是个二维数点的问题, 树套树就可以了#include<bits/stdc++.h>#define N 200050using namespace std;int read(){ int x; scanf("%d", &x); return x;}int n, m, a[N],...原创 2019-07-11 17:53:33 · 170 阅读 · 0 评论