#include<iostream>
#include<string>
#include<algorithm>
#include<cstdlib>
#include<cstdio>
#include<set>
#include<map>
#include<vector>
#include<cstring>
#include<stack>
#include<cmath>
#include<queue>
#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
#define ll long long
#define clc(a,b) memset(a,b,sizeof(a))
const int maxn=; int ans;
struct node
{
int left,right,sum;
int mid()
{
return (left+right)>>;
}
}tree[maxn*]; void build_tree(int l,int r,int o)
{
tree[o].left=l;
tree[o].right=r;
if(l==r)
{
scanf("%d",&tree[o].sum);
return ;
}
int mid=tree[o].mid();
build_tree(l,mid,o<<);
build_tree(mid+,r,o<<|);
tree[o].sum=tree[o<<].sum+tree[o<<|].sum;
} void query(int l,int r,int o,int L,int R)
{
if(L<=l&&r<=R)
{
ans+=tree[o].sum;
return ;
}
int mid=tree[o].mid();
if(R<=mid)
query(l,mid,o<<,L,R);
else if(L>mid)
query(mid+,r,o<<|,L,R);
else
{
query(l,mid,o<<,L,R);
query(mid+,r,o<<|,L,R);
}
} void update(int l,int r,int o,int pos,int add)
{
if(l==r)
{
tree[o].sum+=add;
return ;
}
int mid=tree[o].mid();
if(pos<=mid)
{
update(l,mid,o<<,pos,add);
}
else
update(mid+,r,o<<|,pos,add);
tree[o].sum=tree[o<<].sum+tree[o<<|].sum;
} int main()
{
int t,n,cnt;
int a,b;
char str[];
cnt=;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
build_tree(,n,);
printf("Case %d:\n",cnt++);
while(scanf("%s",str))
{
if(str[]=='E')
break;
scanf("%d%d",&a,&b);
if(str[]=='Q')
{
ans=;
query(,n,,a,b);
printf("%d\n",ans);
}
else if(str[]=='A')
update(,n,,a,b);
else
update(,n,,a,-b);
}
}
return ;
}

HDU 1166 敌兵布阵 线段树区间求和 更改的更多相关文章

  1. HDU 1754 线段树 单点跟新 HDU 1166 敌兵布阵 线段树 区间求和

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. hdu 1166 敌兵布阵 线段树区间修改、查询、单点修改 板子题

    题目链接:敌兵布阵 题目: C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视 ...

  3. hdu 1116 敌兵布阵 线段树 区间求和 单点更新

    线段树的基本知识可以先google一下,不是很难理解 线段树功能:update:单点增减 query:区间求和 #include <bits/stdc++.h> #define lson ...

  4. HDU.1166 敌兵布阵 (线段树 单点更新 区间查询)

    HDU.1166 敌兵布阵 (线段树 单点更新 区间查询) 题意分析 加深理解,重写一遍 代码总览 #include <bits/stdc++.h> #define nmax 100000 ...

  5. hdu 1166 敌兵布阵 线段树 点更新

    // hdu 1166 敌兵布阵 线段树 点更新 // // 这道题裸的线段树的点更新,直接写就能够了 // // 一直以来想要进线段树的坑,结果一直没有跳进去,今天算是跳进去吧, // 尽管十分简单 ...

  6. HDU 1166 敌兵布阵(线段树单点更新,板子题)

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

  7. HDU 1166 敌兵布阵(线段树单点更新)

    敌兵布阵 单点更新和区间更新还是有一些区别的,应该注意! [题目链接]敌兵布阵 [题目类型]线段树单点更新 &题意: 第一行一个整数T,表示有T组数据. 每组数据第一行一个正整数N(N< ...

  8. HDU 1166 敌兵布阵 <线段树 单点修改 区间查询>

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

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

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

随机推荐

  1. hdu 3746 Cyclic Nacklace KMP循环节

    Cyclic Nacklace 题意:给一个长度为Len( 3 <= Len <= 100000 )的英文串,问你在字符串后面最少添加几个字符可以使得添加后的串为周期串? Sample I ...

  2. 9.MVC框架开发(关于ActionResult的处理)

    1.在Action处理之后,必须有一个返回值,这个返回值必须继承自ActionResult的对象 2.ActionResult,实际就是服务器端响应给客户端的结果 ViewResult(返回视图结果) ...

  3. 一步步学习NHibernate(3)——NHibernate增删改查

    请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们配置了以下NHibernate的运行环境, 并介绍了NHibernate的中两个非常中重要的接口"I ...

  4. 一般处理程序(ashx)和页面处理程序(aspx)的区别

    客官请看图   图中的Httphandler就是处理程序.   两者的共同点 如果把aspx处理程序和ashx处理程序放到上图中,他们是处在相同的位置的, 他们都实现了IHttphandler接口.实 ...

  5. hdu 3483 A Very Simple Problem

    两种构造的方式都是正确的: 1. #include<cstdio> #include<cstring> #include<algorithm> #define ma ...

  6. c# 捕捉键盘按键

    //esc退出窗体  protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg , System.Windo ...

  7. 【无聊放个模板系列】HDU 3068 MANACHER

    #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...

  8. 在eclipse中将项目发布到tomcat的root目录

    (1)设置项目上下文,右击项目-properties   >Web Page Edit

  9. HDU 5044 TREE

    题意:一棵树上两种操作,操作1,改变u到v的每一点的值增加k,操作2,改变u到v每一条边值增加k.最后结束时问,每一点和每一条边的值. 初始时,点和边的值都为0. 分析: 很显然要用树链剖分,将点和边 ...

  10. 李洪强iOS开发之-环信04_消息

    李洪强iOS开发之-环信04_消息 消息:IM 交互实体,在 SDK 中对应的类型是 EMMessage.EMMessage 由 EMMessageBody 组成. 构造消息   构造文字消息 EMT ...