Stars HDU - 1541
Posted lxy8584099
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Stars HDU - 1541相关的知识,希望对你有一定的参考价值。
二位偏序
/* CDQ之二位偏序 树状数组 注意x能取到0 总体+1 */ #include<cstdio> #include<cstring> using namespace std; const int N=32050; int res,n,x,num[N],s[N]; int lowbit(int x) {return x&-x;} void add(int x) {while(x<=32000) s[x]++,x+=lowbit(x);} int find(int x) {res=0;while(x) res+=s[x],x-=lowbit(x);return res;} int main() { while(scanf("%d",&n)!=EOF) { memset(s,0,sizeof(s)),memset(num,0,sizeof(num)); for(int i=0;i<n;i++) scanf("%d%*d",&x),x++,num[find(x)]++,add(x); for(int i=0;i<n;i++) printf("%d ",num[i]); } return 0; }
以上是关于Stars HDU - 1541的主要内容,如果未能解决你的问题,请参考以下文章