zoj 3635 树状数组加二分
来源:互联网 发布:知乎指数 编辑:程序博客网 时间:2024/06/10 04:19
以前这种没写过,今天写了一下,当模板用了
#include<stdio.h>#include<string.h>#define maxn 50010int a[maxn];int b[maxn];int n; int lowbit(int x){ return x&(-x);}int sum(int end){ int sum=0; while(end>0) { sum+=a[end]; end-=lowbit(end); } return sum;}void add(int pos,int num){ while(pos<=n) { a[pos]+=num; pos+=lowbit(pos); }}int main(){ while(scanf("%d",&n)==1) { memset(a,0,sizeof(a)); int i,j,x; for(i=1;i<=n;i++) add(i,1); for(i=1;i<=n;i++) { scanf("%d",&x); int l=1,r=n; while(l<=r) { int mid=(l+r)/2; if(sum(mid)>=x) r=mid-1; else l=mid+1; } b[i]=l; add(l,-1); } int m; scanf("%d",&m); while(m--) { scanf("%d",&x); if(m) printf("%d ",b[x]); else printf("%d",b[x]); } printf("\n"); } return 0;}
- zoj 3635 树状数组加二分
- ZOJ 3635 树状数组+二分
- ZOJ 3635 树状数组+二分
- zoj 3279【树状数组+二分】
- ZOJ 3635 Cinema in Akiba(树状数组 + 二分)
- ZOJ 3635 Cinema in Akiba (树状数组+二分)
- zoj 3635 Cinema in Akiba(树状数组+二分)
- ZOJ 3635 Cinema in Akiba(二分+树状数组)
- zoj 3635 Cinema in Akiba 二分+树状数组
- ZOJ 3279 Ants 二分树状数组
- ZOJ:3634Bounty hunter(二分+树状数组)
- ZOJ 3635——Cinema in Akiba(树状数组+二分)
- ZOJ 3955 Saddle Point (排序/二分/树状数组)
- zoj 3724 树状数组
- poj2892 树状数组+二分
- poj2182(二分+树状数组)
- hdu5493 树状数组+二分
- hdu5493Queue 树状数组+二分
- Java堆内存的10个要点
- XML的优缺点
- 网络资料总结的常用计算机公司笔试题目
- Intent 数据传递
- 关于版本控制软件
- zoj 3635 树状数组加二分
- nbtscan局域网扫描的原理
- 自定义windows休眠文件的路径
- 工业以太网
- 无线传感网络国内外研究发展状况
- html学习心得
- poj2246 Matrix Chain Multiplication 矩阵连乘
- shell中字符串的截取
- epoll使用例子