EC Round 41 (Rated for Div. 2)主席树 E. Tufurama
简单分析一下,对于x<y,求a[x]>=y 同时a[y]>=x 再简化一下,求1-a[y]区间内大于>=y的个数。。。主席树牛逼 #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<vector> #define LL long long using namespace std; const int maxx = 2e5+6; struct node{ int l,r; int cnt; }tree[maxx*40]; int a[maxx]; int b[maxx]; int root[maxx]; int cnt; vector<int>v; int getval(int x){ return lower_bound(v.begin(),v.end(),x)-v.begin()+1; } void inserts(int l,int r,int pre,int &now,int pos){ now=++cnt; tree[now]=tree[pre]; tree[now].cnt++; if(l==r){ return ; } int mid=(l+r)>>1; if (pos<=mid){ inserts(l,mid,tree[pre].l,tree[now]