hdu 1166 敌兵布阵 树状数组 模板题
这题是树状数组入门的一模板题,非常基础,被小白成为"赤裸裸"的入门题,哈哈,一个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 敌兵布阵 树状数组 模板题相关推荐
- HDU 1166 敌兵布阵 树状数组小结(更新)
树状数组(Binary Indexed Tree(BIT), Fenwick Tree) 是一个查询和修改复杂度都为log(n)的数据结构.主要用于查询任意两位之间的所有 元素之和,但是每次只能修改一 ...
- hdu 1166 敌兵布阵 树状数组
敌兵布阵 Time Limit: 2000/1000 ...
- hdu1166敌兵布阵 树状数组裸题
树状数组裸题 动态更新区间内的点,动态查询区间和 敌兵布阵 ac代码 #include<iostream> #include<algorithm> #include<cs ...
- 【 HDU 1166】 敌兵布阵 树状数组从0到1
如果给你一个数组,让你求某个区间的和,你很自然会想到遍历一遍数组,复杂度是O(n),但是如果有多次询问呢,你也许会想到用前缀数组,通过O(n)的预处理,达到O(1)的查询,但是如果要更新某个元素的值呢 ...
- 杭电OJ 敌兵布阵 树状数组
是一道简单的树状数组的题,,是一道简单题.....题目: C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Der ...
- 树状数组板子题之一:hdu 1166 敌兵布阵
树状数组板子题之一:hdu 1166 敌兵布阵 题目链接:hdu 1166 敌兵布阵 Problem Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手 ...
- HDU 1166 敌兵布阵(线段树:点更新,区间求和)
HDU 1166 敌兵布阵(线段树:点更新,区间求和) http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意: 给你n个整数,然后给你多条命令,每条命令如 ...
- hdu 1166 敌兵布阵(单点更新)
hdu 1166 敌兵布阵(基本操作) 有三种操作:询问区间总和,增加某个兵营的兵的数目,减少某个兵营的兵的数目.实际上也只有两个. 在更新的时候,每到一个区间就把当前区间的sum增加对应的数目,到达 ...
- HDU1166 敌兵布阵(树状数组模板题)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
最新文章
- 作业 3 应用分支与循环结构解决问题 统计字符个数
- 【Quartz】实现接口封装化(二)
- 为什么要用这些框架来进行开发,直接new一个对象不香吗?
- 无法打开文件“opencv_world410d.obj”
- 自动化部署必备技能—定制化RPM包[转载]
- 收藏:JavaScript
- 测试串行回收与堆初始值有关系01
- linux 对象 调出r_【转】Linux - chown 中的 -R 参数
- Exception in thread http-apr-8080-exec-
- node.js express安装问题
- 生成26个大小写字母和0-9的六位随机验证码(python3.X)
- MySql修改默认端口
- Linux 虚拟机忘记密码解决办法
- Mujoco中旋转轴的定义
- 如何使用中文维基百科语料
- Error creating bean with name ‘serverEndpointExporter‘ defined in class path resource
- 如何做到在各大搜索引擎搜索自己的网页
- 计算机二级考试主要学什么,计算机二级考试需要学习什么内容
- 使用ShaderGraph制作漩涡消散效果
- ssm问题记录:NoSuchBeanDefinitionException: No qualifying bean of type ‘xxxl‘ available
热门文章
- postgresql参数化查询_一个能融会贯通PostgreSQL监控的人,大概率是高手
- python学习-装饰器(可变参装饰器、完善装饰器)
- java短链接_java 生成短链接
- lua运行外部程序_LTUI v2.2 发布, 一个基于lua的跨平台字符终端UI界面库
- Linux软件基础实验,linux基本操作的实验
- python 列表解析式_python列表解析式,字典解析式,集合解析式和生成器
- 图像处理——图像边缘检测
- $ppclass php,jquery weui
- arduino i2c 如何写16位寄存器_Arduino之我见
- 用国产CH32替代STM32,快来试试看!