这题是树状数组入门的一模板题,非常基础,被小白成为"赤裸裸"的入门题,哈哈,一个plus,一个sum全部搞定

#include<stdio.h>
#include<string.h>
#define lowbit( x ) ( x )&( -x )
int tree[50024],num,n;
void plus( int num,int x )
{while( x <= n ){tree[x] += num;x += lowbit( x );}}
int sum( int x )
{int sum = 0;while( x ){sum += tree[x];x -= lowbit( x );}return sum;
}
int main( )
{int t;char str[100];scanf( "%d",&t );int k = t;while( k-- ){memset( tree,0,sizeof( tree ) );scanf( "%d",&n );for( int i = 1; i <= n; ++i ){scanf( "%d",&num );plus( num,i ); //第i个增加了NUM人}int r = 1; while( scanf( "%s",str ),str[0] != 'E' ){int a,b;scanf( "%d%d",&a,&b );switch( str[0] ){case 'A':plus( b,a );break;case 'S':plus( -b,a );break;case 'Q':if( r )printf( "Case %d:\n",t - k );r = 0;printf("%d\n",sum( b ) - sum( a - 1 ));break;}}}return 0;
}

转载于:https://www.cnblogs.com/Lvsi/archive/2011/04/05/2005777.html

hdu 1166 敌兵布阵 树状数组 模板题相关推荐

  1. HDU 1166 敌兵布阵 树状数组小结(更新)

    树状数组(Binary Indexed Tree(BIT), Fenwick Tree) 是一个查询和修改复杂度都为log(n)的数据结构.主要用于查询任意两位之间的所有 元素之和,但是每次只能修改一 ...

  2. hdu 1166 敌兵布阵 树状数组

    敌兵布阵                                                                           Time Limit: 2000/1000 ...

  3. hdu1166敌兵布阵 树状数组裸题

    树状数组裸题 动态更新区间内的点,动态查询区间和 敌兵布阵 ac代码 #include<iostream> #include<algorithm> #include<cs ...

  4. 【 HDU 1166】 敌兵布阵 树状数组从0到1

    如果给你一个数组,让你求某个区间的和,你很自然会想到遍历一遍数组,复杂度是O(n),但是如果有多次询问呢,你也许会想到用前缀数组,通过O(n)的预处理,达到O(1)的查询,但是如果要更新某个元素的值呢 ...

  5. 杭电OJ 敌兵布阵 树状数组

    是一道简单的树状数组的题,,是一道简单题.....题目: C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Der ...

  6. 树状数组板子题之一:hdu 1166 敌兵布阵

    树状数组板子题之一:hdu 1166 敌兵布阵 题目链接:hdu 1166 敌兵布阵 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手 ...

  7. HDU 1166 敌兵布阵(线段树:点更新,区间求和)

    HDU 1166 敌兵布阵(线段树:点更新,区间求和) http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意: 给你n个整数,然后给你多条命令,每条命令如 ...

  8. hdu 1166 敌兵布阵(单点更新)

    hdu 1166 敌兵布阵(基本操作) 有三种操作:询问区间总和,增加某个兵营的兵的数目,减少某个兵营的兵的数目.实际上也只有两个. 在更新的时候,每到一个区间就把当前区间的sum增加对应的数目,到达 ...

  9. HDU1166 敌兵布阵(树状数组模板题)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

最新文章

  1. 作业 3 应用分支与循环结构解决问题 统计字符个数
  2. 【Quartz】实现接口封装化(二)
  3. 为什么要用这些框架来进行开发,直接new一个对象不香吗?
  4. 无法打开文件“opencv_world410d.obj”
  5. 自动化部署必备技能—定制化RPM包[转载]
  6. 收藏:JavaScript
  7. 测试串行回收与堆初始值有关系01
  8. linux 对象 调出r_【转】Linux - chown 中的 -R 参数
  9. Exception in thread http-apr-8080-exec-
  10. node.js express安装问题
  11. 生成26个大小写字母和0-9的六位随机验证码(python3.X)
  12. MySql修改默认端口
  13. Linux 虚拟机忘记密码解决办法
  14. Mujoco中旋转轴的定义
  15. 如何使用中文维基百科语料
  16. Error creating bean with name ‘serverEndpointExporter‘ defined in class path resource
  17. 如何做到在各大搜索引擎搜索自己的网页
  18. 计算机二级考试主要学什么,计算机二级考试需要学习什么内容
  19. 使用ShaderGraph制作漩涡消散效果
  20. ssm问题记录:NoSuchBeanDefinitionException: No qualifying bean of type ‘xxxl‘ available

热门文章

  1. postgresql参数化查询_一个能融会贯通PostgreSQL监控的人,大概率是高手
  2. python学习-装饰器(可变参装饰器、完善装饰器)
  3. java短链接_java 生成短链接
  4. lua运行外部程序_LTUI v2.2 发布, 一个基于lua的跨平台字符终端UI界面库
  5. Linux软件基础实验,linux基本操作的实验
  6. python 列表解析式_python列表解析式,字典解析式,集合解析式和生成器
  7. 图像处理——图像边缘检测
  8. $ppclass php,jquery weui
  9. arduino i2c 如何写16位寄存器_Arduino之我见
  10. 用国产CH32替代STM32,快来试试看!