南阳理工acm 题目116 士兵杀敌(二)树状数组
来源:互联网 发布:大众老总途观 知乎 编辑:程序博客网 时间:2024/06/05 23:06
士兵杀敌(二):用树状数组做的,果然很省时间,虽然还不知道为什么省时间,对算法的时间复杂度什么的也不太明白,不过先会用了一点,至于为什么以后再研究吧!
# include <stdio.h># define lowbit(x) x&(-x)int a[1000001],b;void add(int i, int x){while (i<=b){a[i]+=x;i+=lowbit(i);}}int sum(int m){int sum=0; while(m>0){sum+=a[m];m-=lowbit(m); } return sum;}int main(){int i, c, m, x, y;char s[3];//freopen("in.txt", "r", stdin);scanf("%d%d", &b, &m);for (i = 1; i<=b; i++){scanf("%d", &c);add(i, c);}while (m--){scanf("%s%d%d", s, &x, &y);if (s[0]=='A')add(x, y);elseprintf("%d\n", sum(y)-sum(x-1));}return 0;}
- 南阳理工acm 题目116 士兵杀敌(二)树状数组
- 南阳理工oj 题目116 士兵杀敌(二)树状数组
- 南阳-116-士兵杀敌(二)【树状数组】
- 南阳理工acm 116士兵杀敌(二)(线段树)
- 南阳理工:士兵杀敌(二)
- 南阳理工 士兵杀敌(二)
- 【南理工oj】116 - 士兵杀敌(二)(线段数 & 树状数组)
- 南阳理工ACM 108士兵杀敌(一)
- nyoj ACM:士兵杀敌(二)(树状数组)
- 南阳oj 士兵杀敌(二) 题目116 NYOJ 数据结构
- NYOJ 士兵杀敌(二) 树状数组
- NYOJ - 士兵杀敌(二)(树状数组)
- NYOJ116 士兵杀敌(二)【树状数组】
- 士兵杀敌(二)(南阳116)
- 南阳理工:士兵杀敌(一)
- 南阳理工:士兵杀敌(三)
- 【南阳理工】 108 士兵杀敌(一)
- 南阳OJ 116-士兵杀敌(二)
- 使用Highcharts生成折线图与曲线图
- WebView访问HTTPS空白的SslError处理(兼容2.1)
- Rotating Rings
- curl获得cookie数据
- Ubuntu下配置samba实现文件夹共享
- 南阳理工acm 题目116 士兵杀敌(二)树状数组
- 设计模式(二)六大设计原则
- Fermat’s Chirstmas Theorem
- 笔记本上玩windowsandroid 设置成平板
- Android 之ActivityThead、ActivityManagerService 与activity的管理和创建
- 大白菜装XP
- php生成二维码
- Linux搭建安卓开发环境
- 父类引用指向子类对象(Java中的多态)