题意
http://acm.hdu.edu.cn/showproblem.php?pid=1166
思路
用线段树做过,这次换用树状数组来写。http://www.cnblogs.com/zhangshu/archive/2011/08/16/2141396.html这一篇树状数组的介绍真的很好。
#include<iostream> #include<cstring> #include<cstdio> using namespace std; #define lowbit(x) (x&(-x)) const int nMax = 50050; int n, num[nMax]; void add(int loc, int val){ while(loc <= n){ num[loc] += val; loc += lowbit(loc); } } int sum(int loc){ int res = 0; while(loc >= 1){ res += num[loc]; loc -= lowbit(loc); } return res; } int main(){ int tcas,i,a,b,v; char sss[10]; scanf("%d",&tcas); for(int tt = 1; tt <= tcas; tt ++){ scanf("%d",&n); memset(num, 0, sizeof(num)); for(i = 1; i <= n; i++){ scanf("%d",&a); add(i, a); } printf("Case %d:\n",tt); while(scanf("%s",sss)&&sss[0]!='E'){ scanf("%d%d",&a,&b); if(sss[0] == 'A'){ add(a, b); }else{ if(sss[0] == 'S'){ add(a, -b); }else{ v = sum(b) - sum(a - 1); printf("%d\n",v); } } } } return 0; }
相关推荐
HDOJ题目分类HDOJ题目分类HDOJ题目分类
hdoj1001标程
ACM ICPC HDOJ1002
ACM ICPC HDOJ1001
hdoj上的资源,代码有注释,很不错的哦
hdoj1004,解题代码,答案代码,欢迎下载
ACM ICPC HDOJ1003
杭州电子科技大学hdoj1002,大整数相加问题
ACM ICPC HDOJ1008
杭州电子科大HDOJ
c语言 最短路 是hdoj上的一个最短路问题,写的很牛
一些HDOJ上的DP题目的小总结,但愿能帮到那些想专攻DP的人吧
ACM ICPC HDOJ1000
hdoj解题代码,题目为1000-1050
codj,hdoj的源码(50-60题)
hdoj 2013 多校训练3标程+解题报告
HDOJ 源代码 包含几百道HDOJ题目源码
hdoj1005 Number Sequence, 杭州电子科技大学oj题目代码
杭电OJ(1000-1099) AC 代码
HDOJ使用指南——公开版.docHDOJ使用指南——公开版.docHDOJ使用指南——公开版.doc