#include<stdio.h>

#include<string.h>

#define N  51000

int  c[N],n;

int number(int x) {

return x&-x;

}

void creat(int a,int x) {

int i;

for(i=a;i<=n;i+=number(i))

c[i]+=x;

}

int sum(int x) {

int h=0,i;

for(i=x;i>0;i-=number(i))

       h+=c[i];

return h;

}

int bsum(int x,int y) {

return sum(y)-sum(x);

}

int main() {

int i,j,t,k,count=0;

char s[30];

scanf("%d",&t);

while(t--) {

scanf("%d",&n);

memset(c,0,sizeof(c));

for(i=1;i<=n;i++) {

scanf("%d",&k);

creat(i,k);

}

printf("Case %d:\n",++count);

while(scanf("%s",s),strcmp(s,"End")) {

if(s[0]=='Q') {

scanf("%d%d",&i,&j);

printf("%d\n",bsum(i-1,j));

}

else 

if(s[0]=='A'){

scanf("%d%d",&i,&k);

creat(i,k);

}

else

if(s[0]=='S'){

scanf("%d%d",&i,&k);

creat(i,-k);

}

}

}

return 0;

}

hdu 1166 树状数组模板题的更多相关文章

  1. HDU - 1166 树状数组模板(线段树也写了一遍)

    题意: 汉语题就不说题意了,用到单点修改和区间查询(树状数组和线段树都可以) 思路: 树状数组的单点查询,单点修改和区间查询. 树状数组是巧妙运用二进制的规律建树,建树就相当于单点修改.这里面用到一个 ...

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

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

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

    思路:就是树状数组的模板题,利用的就是单点更新和区间求和是树状数组的强项时间复杂度为m*log(n) 没想到自己以前把这道题当线段树的单点更新刷了. 树状数组: #include<iostrea ...

  4. hdu 1166 树状数组(线段树)

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

  5. hdu 1166(树状数组 或 线段树)

    线段树 (本题无需建树,少了很多) #include<cstdio> #include<cstring> int sum[5000005],rt,data,lb,rb,n,m; ...

  6. POJ 3928 Ping pong 树状数组模板题

    開始用瓜神说的方法撸了一发线段树.早上没事闲的看了一下树状数组的方法,于是又写了一发树状数组 树状数组: #include <cstdio> #include <cstring> ...

  7. HDU 4638 树状数组 想法题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4638 解题思路: 题意为询问一段区间里的数能组成多少段连续的数.先考虑从左往右一个数一个数添加,考虑当 ...

  8. hiho 172周 - 二维树状数组模板题

    题目链接 描述 You are given an N × N matrix. At the beginning every element is 0. Write a program supporti ...

  9. hdu 1166 树状数组 线段树入门

    点修改 区间求和 #include <cstdio> #include <cstdlib> #include <cmath> #include <map> ...

随机推荐

  1. HDFS执行getDatanodeReport输出信息

    HDFS执行getDatanodeReport输出信息: Name: (192.168.101.100) Hostname: bigsrv Decommission Status : Normal C ...

  2. YUM报错及解决办法

    [root@xuegod60 ~]# yum clean all Loaded plugins: product-id, refresh-packagekit, security, subscript ...

  3. Windows 7操作系统下Apache的安装与配置(图文详解)

    我这里是 Apache2.4.X-win64 首先, 我的操作系统信息如下  Apache2.4-win64的下载 官网 http://www.apachelounge.com/download/ 因 ...

  4. sql语句添加一列标示,然后进行分页。

    ,) , sum(Score) as Score ,Student_NO,Student_Name into #a2_tab from ksy_stu_ScoreInfo GROUP BY Stude ...

  5. iOS开发 - CoreData框架 数据持久化

    Core Data Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还 ...

  6. CSS ul li a 背景图片与文字对齐

    <div class="four"> <h2>电子商务</h2> <img src="images/photo2.gif&quo ...

  7. jQuery核心语法

    .each只是处理jQuery对象的方法,jQuery还提供了一个通用的jQuery.each方法,用来处理对象和数组的遍历 jQuery/($).each(array, callback )jQue ...

  8. java web 学习笔记 - servlet03

    1.Servlet可以分为三种类型 普通Servlet,需要在基本程序架构中体现. Servlet过滤器,在web容器启动时初始化,不需要手动调用. Servlet 监听器. 2.  Servlet过 ...

  9. chatops--rocketchat+hubot

    chatops--rocketchat+hubot 原文地址:http://www.cnblogs.com/caoguo/p/7221956.html 先放几张图 # rocket.chat # hu ...

  10. 单页vue路由router

    Vue.js + vue-router 可以很简单的实现单页应用. <router-link> 是一个组件,该组件用于设置一个导航链接,切换不同 HTML 内容. to 属性为目标地址, ...