
树套树
clover_hxy
The secret oppotunities are hidden inside every failure....
展开
-
bzoj 3295: [Cqoi2011]动态逆序对(树套树)
3295: [Cqoi2011]动态逆序对 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 3046 Solved: 970 [Submit][Status][Discuss] Description 对于序列A,它的逆序对数定义为满足ij,且Ai>Aj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任原创 2016-04-28 15:54:43 · 693 阅读 · 0 评论 -
bzoj 3196: Tyvj 1730 二逼平衡树
#include #include #include #include #include #define N 2000003 #define M 50003 using namespace std; int n,m; int ls[4*M],rs[4*M],root[4*M]; int ch[N][3],fa[N],maxn,a[N],size[N],key[N],cnt[N],sz; void原创 2016-04-28 22:11:56 · 529 阅读 · 0 评论 -
poj 2155 Matrix(二维线段树,树套树)
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 24131 Accepted: 8930 Description Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] me原创 2016-06-18 08:21:56 · 678 阅读 · 0 评论 -
bzoj 3110: [Zjoi2013]K大数查询(树套树,整体二分)
3110: [Zjoi2013]K大数查询 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 4020 Solved: 1547 [Submit][Status][Discuss] Description 有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2原创 2016-04-28 10:56:04 · 1037 阅读 · 1 评论 -
bzoj 2674: Attack (整体二分+树状数组套线段树)
题目描述传送门题目大意: 有N座城市和N个太守,N个城市可以看作在二维平面上的N个点。 N座城市的标号为0,1,2,……,N-1。 第i座城市的坐标为(Xi,Yi),镇守这座城市的太守的能力值为Zi。 chnlich每次会选择一个边平行于坐标轴的矩形区域,并奇袭其中太守能力值第K小的城市(奇袭结束之后城市与太守依然存在)。 不过,他的敌人经常会偷偷交换两座城市的太守,防原创 2017-03-30 17:42:04 · 588 阅读 · 0 评论 -
bzoj 2141: 排队 (树状数组套线段树)
题目描述传送门题目大意:给出一个序列,每次交换两个位置的数,求交换完后整个序列的逆序对数。题解对于一个位置会产生的逆序对数是他前面比他大的数+他后面比他小的数。 我们可以用树状数组套线段树维护一下,外层表示位置在树状数组中该点的控制区间,线段树是权值线段树。 然后每次交换玩了计算一下就可以了。代码#include<iostream> #include<cstdio> #include<algor原创 2017-03-30 19:32:58 · 377 阅读 · 0 评论 -
bzoj 1901: Zju2112 Dynamic Rankings (树状数组套线段树)
题目描述传送门题目大意:给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a继续回答上面的问题。题解其实这道题就是带修改的主席树。。。 将询问离线,对于所有出现的权值离散化。 然后外原创 2017-03-30 20:28:18 · 631 阅读 · 3 评论