ZOJ 3279 树状数组 题库221页
来源:互联网 发布:无忧call网络电话软件 编辑:程序博客网 时间:2024/06/05 22:32
const int maxn = 100008 ;int x[maxn] , n ;int lowbit(int x){ return x & (-x) ;}void add(int i , int c){ while(i <= n){ x[i] += c ; i += lowbit(i) ; }}int sum(int i){ int s = 0 ; while(i >= 1){ s += x[i] ; i -= lowbit(i) ; } return s ;}int a[maxn] ;int main(){ int i , m , d ; char ch[2] ; while(scanf("%d" , &n) != EOF){ memset(x , 0 , sizeof(x)) ; for(i = 1 ; i <= n ; i++){ scanf("%d" , &a[i]) ; add(i , a[i]) ; } scanf("%d" , &m) ; while(m--){ scanf("%s" , ch) ; if(ch[0] == 'p'){ scanf("%d%d" , &i , &d) ; add(i , d - a[i]) ; a[i] = d ; } else{ scanf("%d" , &d) ; int l = 1 , r = n , mid , s ; while(l <= r){ mid = (l + r) >> 1 ; if(sum(mid) >= d){ s = mid ; r = mid - 1 ; } else l = mid + 1 ; } printf("%d\n" , s) ; } } } return 0 ;}
0 0
- ZOJ 3279 树状数组 题库221页
- zoj 3279【树状数组+二分】
- ZOJ 3279 Ants 二分树状数组
- zoj 3724 树状数组
- zoj 3724 树状数组经典
- ZOJ 3635 树状数组+二分
- ZOJ 3635 树状数组+二分
- zoj 3278 二分 (题库203页)
- ZOJ 3612 树状数组 第K大数
- zoj 3635 树状数组加二分
- zoj 树状数组经典 ( 未解)
- ZOJ 2112 [树状数组套主席树]
- ZOJ 3813 Alternating Sum 树状数组
- ZOJ 3157 Weapon --计算几何+树状数组
- ZOJ:3634Bounty hunter(二分+树状数组)
- zoj 3724(离线处理+树状数组)
- ZOJ 3955 Saddle Point (树状数组)
- ZOJ-3612-树状数组+第k小数+离散化
- UML类图与类的关系详解
- 中序后序重建二叉树
- SQL Server 2008 新类型介绍之Date和Time
- LeetCode_003:Sort List
- vi查找替换命令详解
- ZOJ 3279 树状数组 题库221页
- zookeeper 灾难恢复机制
- 32位bmp图转24位bmp图
- 二分查找
- 探讨C语言中的回调函数
- 黑马程序员--1.JAVA基础程序设计
- 缓存淘汰算法系列之1——LRU类
- C# C++ 判断文件 文件夹是否存在
- 查看系统的I/O使用iostat命令而使用iotop可以根据I/O统计信息排序,追踪到具体的进程