POJ 2352 Stars(树状数组)
蛋疼的一个题,根本看不懂天马行空的题意,各种翻译工具也搞不了。。。模版题,我却怎么也没看出怎么套模版来。。。基本上全部参考的解题报告。。。
了解了树状数组非常需要注意的地方树状数组时没法搞0的。。。。不然会TLE。
1 #include <stdio.h> 2 #include <string.h> 3 #define N 32100 4 int p[N],level[16000]; 5 int lowbit(int t) 6 { 7 return t&(-t); 8 } 9 void insert(int t,int d) 10 { 11 while(t <= N) 12 { 13 p[t] += d; 14 t += lowbit(t); 15 } 16 } 17 int getsum(int t) 18 { 19 int sum = 0; 20 while(t > 0) 21 { 22 sum += p[t]; 23 t -= lowbit(t); 24 } 25 return sum; 26 } 27 int main() 28 { 29 int n,i,sv,ev; 30 scanf("%d",&n); 31 for(i = 1;i <= n;i ++) 32 { 33 scanf("%d%d",&sv,&ev); 34 level[getsum(sv+1)] ++; 35 insert(sv+1,1); 36 } 37 for(i = 0;i <= n-1;i ++) 38 { 39 printf("%d\n",level[i]); 40 } 41 return 0; 42 }