Japan 树状数组加逆序数...
来源:互联网 发布:泡妞宝鉴天地知我心txt 编辑:程序博客网 时间:2024/05/22 00:17
哎~又有学到知识...不过是以翘课被抓为代价的...咕~~(╯﹏╰)
#include <stdio.h>#include <stdlib.h>#include <string.h>__int64 s;int m;__int64 b[10050];struct node { int x; int y;};node a[1000005];int cmp(const void *a,const void *b){ if ( ( *(node*)a ).x ==( * ( node* ) b ).x) return ( * (node* ) a ).y-( *(node*) b ).y; return (*(node*)a).x-(*(node*)b).x;}int lowbit(int x){ return x&(-x);}void inc(int x){ while (x<=m) { b[x]+=1; x+=lowbit(x); }}__int64 sum(int x){ __int64 sum=0; while (x>0) { sum+=b[x]; x-=lowbit(x); } return sum;}int main(){ int T,i,n,k,t=1; scanf("%d",&T); while (T--) { s=0; memset(b,0,sizeof(b)); memset(a,0,sizeof(a)); scanf("%d%d%d",&n,&m,&k); for (i=0;i<k;i++) { scanf("%d%d",&a[i].x,&a[i].y); } qsort(a,k,sizeof(a[0]),cmp); for (i=0;i<k;i++) { s+=i-sum(a[i].y); inc(a[i].y); } printf("Test case %d: %I64d\n",t++,s); }
- Japan 树状数组加逆序数...
- 树状数组--逆序数--Japan
- POJ3067 Japan【树状数组】【逆序数】
- poj--3067 Japan(树状数组+逆序数)
- poj3067 Japan 树状数组 逆序数
- POJ3067 Japan(树状数组,逆序数)
- POJ 3067 Japan (树状数组 + 逆序数)
- 【树状数组--求逆序数】poj3067 Japan
- 【树状数组】poj 3067 Japan(树状数组求逆序数)
- pku 3067 Japan 树状数组求逆序数
- poj 3067 Japan 树状数组求逆序数
- POJ 3067 Japan (树状数组求逆序数)
- POJ_3067 Japan[ 逆序数 树状数组 or 归并排序)
- POJ 3067 Japan(树状数组/求逆序数)
- POJ 3067 Japan(树状数组+逆序数)
- poj 3067 Japan 树状数组+逆序数变形
- POJ 3067 Japan (树状数组求逆序数---经典)
- POJ 3067-Japan(树状数组-逆序数)
- C语言qsort快速排序
- 动态生成二维数组...
- 栈...
- 栈与队列....
- 树状数组解决敌兵布阵~~
- Japan 树状数组加逆序数...
- 纠结的二维数组 Matrix
- 二维数组解决矩阵相加...
- Another Very Easy Task 我也不知道怎么会过不了?
- 1487: 未覆盖顶点数量.
- SPOJ:416 Divisibility by 15
- 最小生成树之Swordfish
- 哎~水题,还是最小生成树。没想到一遍AC了...
- 最小生成树,继续水~