标签:des com http style blog class div img code c java
Description
Input
Output
Sample Input
5 1 1 5 1 7 1 3 3 5 5
Sample Output
1 2 1 1 0
1 #include<iostream> 2 #include<cstdio> 3 #include<memory.h> 4 using namespace std; 5 #define maxn 32100//是叶节点能达到的最大值多一点 6 int C[maxn];//从1开始编号 7 //-------------------------- 8 int lowbit(int x){ 9 return x&-x; 10 } 11 int sum(int x){ 12 int ret=0; 13 while(x>0){ 14 ret+=C[x]; 15 x-=lowbit(x); 16 } 17 return ret; 18 } 19 void add(int x,int d){ 20 while(x<=maxn){ 21 C[x]+=d; 22 x+=lowbit(x); 23 } 24 } 25 //-------------------------- 26 /* 27 给定n个点,问这一点左下角的区域的点的个数,不包括这一点 28 因为输入是按照y从小到达,然后是按x从小到达,且x不同 29 因此先出现的肯定比后出现的y小即在后出现的点之下, 30 因此只要把x作为树状数组下标就可以啦。然后用一个out[num]维护 31 个数为num的点的数量 32 */ 33 int out[maxn]; 34 int main(){ 35 int n; 36 while(scanf("%d",&n)!=EOF){ 37 int x,y; 38 int i,j; 39 memset(out,0,sizeof(out)); 40 memset(C,0,sizeof(C)); 41 for(i=1;i<=n;i++){ 42 scanf("%d%d",&x,&y); 43 out[sum(x+1)]++; 44 add(x+1,1); 45 } 46 for(i=0;i<n;i++){ 47 printf("%d\n",out[i]); 48 } 49 } 50 return 0; 51 }
[ACM] POJ2352 [树状数组稍微变形],布布扣,bubuko.com
标签:des com http style blog class div img code c java
原文地址:http://www.cnblogs.com/zjutlitao/p/3701986.html