#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
struct data{
int l,r,sum;
}node[3000000];
int n,m,cnt,tot,root[100010],a[100010],num[100010];
int find(int x){
int l=1,r=tot,Mid;
while(l<=r){
Mid=(l+r)>>1;
if(num[Mid]<x)l=Mid+1;
else r=Mid-1;
}
return l;
}
void update(int pre,int &k,int l,int r,int v){
k=++cnt;
node[k].sum=node[pre].sum+1;
if(l==r)return;
node[k].l=node[pre].l;node[k].r=node[pre].r;
int mid=(l+r......
阅读全文