题意:

N个工兵营地,第i个营地有ai个人。

三种操作:

1.第i个营地增加x个人。

2.第i个营地减少x个人。

3.查询第i个到第j个营地的总人数。

思路:

线段树or树状数组

代码:(树状数组)

int n;
int a[50005];
int C[50005]; void init(){
rep(i,1,n){
C[i]=0;
for(int j=i-lowbit(i)+1;j<=i;j++){
C[i]+=a[j];
}
}
}
void add(int x,int y){
for(int i=x;i<=n;i+=lowbit(i)){
C[i]+=y;
}
} int calc(int x){
if(x==0) return 0;
int ans=0;
for(int i=x;i>0;i-=lowbit(i))
ans+=C[i];
return ans;
}
int query(int x,int y){
return calc(y)-calc(x-1);
} int main(){ int T;
cin>>T;
rep(t,1,T){
scanf("%d",&n);
rep(i,1,n){
scanf("%d",&a[i]);
} init(); printf("Case %d:\n",t); char ope[10];
while(1){
scanf("%s",ope);
if(ope[0]=='E') break;
int x,y;
if(ope[0]=='A'){
scanf("%d%d",&x,&y);
add(x,y);
}
else if(ope[0]=='S'){
scanf("%d%d",&x,&y);
add(x,-y);
}
else{
scanf("%d%d",&x,&y);
int ans=query(x,y);
printf("%d\n",ans);
}
}
} return 0;
}

hdu 1166 敌兵布阵(简单线段树or树状数组)的更多相关文章

  1. hdu 1166敌兵布阵(线段树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    M ...

  2. hdu 1166 敌兵布阵 (线段树单点更新)

    敌兵布阵                                                         Time Limit: 2000/1000 MS (Java/Others)  ...

  3. HDU 1166 敌兵布阵(线段树/树状数组模板题)

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

  4. HDU 1166——敌兵布阵——————【线段树单点增减、区间求和】

    敌兵布阵 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status  ...

  5. HDU 1166 敌兵布阵 【线段树-点修改--计算区间和】

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

  6. hdu 1166 敌兵布阵(线段树区间求和)

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

  7. HDU 1166 敌兵布阵(线段树模板题)

    题目链接: 传送门 敌兵布阵 Time Limit: 2000MS     Memory Limit: 32768 K Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头 ...

  8. hdu 1166 敌兵布阵【线段树】(求给定区间和)

    题目链接:https://vjudge.net/contest/182746#problem/B       敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)   ...

  9. HDU 1166 敌兵布阵 (线段树模版题)

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

  10. hdu 1166 敌兵布阵——(区间和)树状数组/线段树

    pid=1166">here:http://acm.hdu.edu.cn/showproblem.php?pid=1166 Input 第一行一个整数T.表示有T组数据. 每组数据第一 ...

随机推荐

  1. 使用Java MVC模式设计一个学生管理系统

    最近在做web实验,要求是用jsp+servlet+mysql实现一个学生管理系统,完成对数据库的增删改查. 效果图:   代码: package dao; import java.util.List ...

  2. PHP的HTTP验证

    在日常开发中,我们进行用户登录的时候,大部分情况下都会使用 session 来保存用户登录信息,并以此为依据判断用户是否已登录.但其实 HTTP 也提供了这种登录验证机制,我们今天就来学习关于 HTT ...

  3. trait能力在PHP中的使用

    相信大家对trait已经不陌生了,早在5.4时,trait就已经出现在了PHP的新特性中.当然,本身trait也是特性的意思,但这个特性的主要能力就是为了代码的复用. 我们都知道,PHP是现代化的面向 ...

  4. symfony2显示调试工具栏

    1. app/config/config_dev.yml framework: templating: engines: ['twig'] router: resource: "%kerne ...

  5. dede调用数据时,字符串替换函数使用

    {dede:sql sql="SELECT typename,typedir,typeimg FROM #@__arctype where topid=30 limit 0,6"} ...

  6. Jmeter扩展组件开发(7) - 自定义java请求的开发

    CODE package com.demo;import org.apache.jmeter.config.Arguments;import org.apache.jmeter.protocol.ja ...

  7. 关于jQ的小案例分享

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>表 ...

  8. 分布式、微服务必须配个日志管理系统才优秀,Exceptionless走起~~~

    前言 在真实的项目中,不管是功能日志.错误日志还是异常日志,已经是项目的重要组成部分.在原始的单体架构,通常看日志的方式简单粗暴,直接登录到服务器,把日志文件拷贝下来进行分析:而如今分布式.微服务架构 ...

  9. PyTorch中的Batch Normalization

    Pytorch中的BatchNorm的API主要有: 1 torch.nn.BatchNorm1d(num_features, 2 3 eps=1e-05, 4 5 momentum=0.1, 6 7 ...

  10. oracle数据导入"HIST_GRAM_LIST_ITEM"问题处理

    1.问题显示 处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT ORA-39083: 对象类型 REF_CONSTRAINT 创建失败, 出现错 ...