标签:
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 26270 | Accepted: 7132 |
Description
Input
Output
Sample Input
1
3 4 4
1 4
2 3
3 2
3 1
Sample Output
Test case 1: 5
Source
1 /**/ 2 #include<iostream> 3 #include<cstdio> 4 #include<cmath> 5 #include<cstring> 6 #include<algorithm> 7 using namespace std; 8 const int mxn=20000; 9 struct edge{ 10 int x,y; 11 }e[mxn*100]; 12 int cmp(edge a,edge b){ 13 if(a.x!=b.x)return a.x<b.x; 14 return a.y<=b.y; 15 } 16 long long t[mxn]; 17 int n,m,k; 18 int a[mxn]; 19 inline int lowbit(int x){ 20 return x&-x; 21 } 22 void add(int p,int v){ 23 while(p<=m){ 24 t[p]+=v; 25 p+=lowbit(p); 26 } 27 return; 28 } 29 int sum(int p){ 30 int res=0; 31 while(p){ 32 res+=t[p]; 33 p-=lowbit(p); 34 } 35 return res; 36 } 37 int main(){ 38 int T; 39 scanf("%d",&T); 40 int i,j; 41 int cas=0; 42 while(T--){ 43 long long ans=0; 44 memset(t,0,sizeof t); 45 scanf("%d%d%d",&n,&m,&k); 46 for(i=1;i<=k;i++) scanf("%d%d",&e[i].x,&e[i].y); 47 sort(e+1,e+k+1,cmp); 48 for(i=1;i<=k;i++){ 49 ans+=sum(m)-sum(e[i].y); 50 add(e[i].y,1); 51 } 52 printf("Test case %d: %lld\n",++cas,ans); 53 } 54 return 0; 55 }
标签:
原文地址:http://www.cnblogs.com/SilverNebula/p/5836968.html