树状数组之插线问点
来源:互联网 发布:我的世界java版本 编辑:程序博客网 时间:2024/06/08 03:25
点击打开链接
# include<stdio.h># include<string.h># include<algorithm>using namespace std;int a[100005],c[100005];struct order{int num;int ord;}s[200005];bool cmp(order x,order y){return x.num<y.num;}int lowbit(int x){return x&-x;}void update(int x,int y){while(x>0){a[x]=a[x]+y;x=x-lowbit(x);}}int get(int x){int s=0;while(x<100000){s=s+a[x];x=x+lowbit(x);}return s;}int main(){int t,n,m,i,j,k;scanf("%d",&t);while(t--){memset(a,0,sizeof(a));//memset(b,0,sizeof(b));scanf("%d%d",&n,&m);for(i=0;i<2*n+m;i++){scanf("%d",&s[i].num);s[i].ord=i+1;}sort(s,s+2*n+m,cmp);//if(s[0].ord<=2*n)c[s[0].ord]=1;for(i=1,j=1;i<2*n+m;i++){if(s[i].num!=s[i-1].num){j++;//if(s[i].ord<=2*n)c[s[i].ord]=j;}else{//if(s[i].ord<=2*n)c[s[i].ord]=j;}}for(i=1;i<2*n;i++){update(c[i+1],1);update(c[i]-1,-1);i++;}for(i=1;i<=m;i++){printf("%d\n",get(c[i+2*n]));}}return 0;}
- 树状数组之插线问点
- 数据结构之树状数组
- 数据结构之树状数组
- 数据结构之树状数组
- 树状数组之插间问点
- 数据结构之树状数组
- 树状数组之插点问线
- poj2352之树状数组
- poj3067之树状数组
- poj2492之树状数组
- hdu2838之树状数组
- hdu2836之树状数组
- hdu4031之树状数组
- 数据结构之树状数组
- 【数据结构之树状数组】
- 数据结构之树状数组
- 数据结构之树状数组
- 数据结构之树状数组
- libmemcached的一致性hash实现源码分析
- Eclipse中代码编辑背景颜色和字体大小的修改
- 贪心之区间选点
- oracle字符集
- OneStack:Ubuntu 12.04一键部署 || 到底什么是云计算:云计算的5-3-2原理与实践
- 树状数组之插线问点
- 对软件工程的理解与总结
- OSG 自带事件响应
- 一些SQLite技巧
- Reverse Linked List : 2012 Microsoft Intern Hiring Written Test 20
- 关于Setup Factory打包MySQL数据库遇到的问题
- float和double变量的内存布局~~~~~~
- 【SCOI2011】【数论】飞镖
- Tomcat性能调优