poj2352树状数组
2015-12-22 20:00
357 查看
最近趁着期末复习的时间看了树状数组,似懂非懂,假期一定要补上一篇树状数组的博客 //AC代码(仿照别人的树状数组的模板过的) #include <stdio.h> int c[32005]; int n; int a[32005]; int lowbit(int x) { return x&(-x); } void add(int index,int step)//对第index个数进行更改,更改step,注意对之后造成了影响 { while(index<=32006) { c[index]+=step; index+=lowbit(index); } } int sum(int index)//求到第index之和 { int sum; sum=0; while(index>0) { sum+=c[index]; index-=lowbit(index); } return sum; } int main() { int i,c,d; scanf("%d",&n); for (i=1;i<=n;i++) { scanf("%d%d",&c,&d); a[sum(++c)]++;//因为树状数组的下标是从1开始的,即前c项之和得到的结果+1 add(c,1);//这个数也加一 } for (i=0;i<n;i++) printf("%d\n",a[i]); return 0; }
相关文章推荐
- SVN版本控制——基础篇
- Java中的线程池——ThreadPoolExecutor的原理
- 学习资源传送门
- Myeclipse下web项目改名,tomcat下不变的问题
- Java 笔记——序列化
- Google多线程面试题: 4个线程向4个文件里写入数据, 每个线程只能写一个值(待更新)
- REMOTE_LOGIN_PASSWORDFILE(10.2)
- MySQL-5.7二进制包安装步骤
- 计步器的preference.xml和project properties学习
- VBS替换文本
- Tableau:数据可视化之急速BI
- Android获得屏幕宽高的方法
- 我的第一个Node.js项目
- Codeforces 609D 二分 or 三分
- QT学习之路(6)构建文件对话框
- Effective minidump
- hdu 1027 Ignatius and the Princess II【dfs 排列组合】
- Spring+Mybatis实现动态SQL查询
- 设计模式入门之装饰器模式Decorator
- 基于代理类ProxyBean的AOP的实现