HDU1166敌兵布阵 简单线段树
来源:互联网 发布:手机怎么开淘宝网店 编辑:程序博客网 时间:2024/06/05 15:39
裸的线段树,单点更新,每次区段询问即可。
#include<iostream>#include<cstdio>#include<cstring>#include<ctime>#include<algorithm>#include<cstdlib>#include<cmath>#include<set>#include<bitset>#include<map>#include<stack>#include<queue>#include<vector>#include<utility>#define INF 0x3f3f3f3f#define inf 2*0x3f3f3f3f#define llinf 1000000000000000000#define pi acos(-1)#define mod 1000000007#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;typedef long long ll;typedef pair<int,int>P;int sum[50005*4],t,n,a,b;string s;void pushup(int rt){ sum[rt]=sum[rt<<1]+sum[rt<<1|1];}void build(int l,int r,int rt){ if(l==r) { scanf("%d",&sum[rt]); return ; } int m=(l+r)>>1; build(lson);build(rson); pushup(rt);}int query(int L,int R,int l,int r,int rt){ if(L<=l&&R>=r) { return sum[rt]; } int res=0; int m=(r+l)>>1; if(L<=m)res+=query(L,R,lson); if(R>m)res+=query(L,R,rson); return res;}void add(int a,int b,int l,int r,int rt){ if(l==r) { sum[rt]+=b; return ; } int m=(l+r)>>1; if(a<=m)add(a,b,lson); else add(a,b,rson); pushup(rt);}int main(){ cin>>t; for(int i=1;i<=t;i++) { cin>>n; build(1,n,1); cout<<"Case "<<i<<":"<<endl; while(cin>>s) { if(s=="End")break; scanf("%d%d",&a,&b); if(s=="Query")cout<<query(a,b,1,n,1)<<endl; else if(s=="Add")add(a,b,1,n,1); else add(a,-b,1,n,1); } } return 0;}
0 0
- HDU1166敌兵布阵 简单线段树
- 线段树 hdu1166 (敌兵布阵)
- 【线段树】 hdu1166 敌兵布阵
- hdu1166 敌兵布阵 线段树
- hdu1166敌兵布阵 (线段树)
- hdu1166 敌兵布阵,线段树
- HDU1166 敌兵布阵(线段树)
- hdu1166 敌兵布阵 线段树
- hdu1166- 敌兵布阵线段树
- 【线段树】hdu1166敌兵布阵
- hdu1166 敌兵布阵(线段树)
- 线段树 HDU1166 敌兵布阵
- hdu1166-敌兵布阵(线段树)
- hdu1166 敌兵布阵 线段树
- hdu1166-敌兵布阵 线段树
- hdu1166敌兵布阵 线段树
- HDU1166 敌兵布阵(线段树)
- hdu1166 敌兵布阵 线段树
- 调整数组顺序使奇数位于偶数前面
- 【实战】词频统计及词云图制作
- ZOJ2970-Faster, Higher, Stronger
- 机器学习三种数据集的作用
- 进程和线程的区别
- HDU1166敌兵布阵 简单线段树
- 理解Java的三大特性之封装
- KBEngine服务器demo中的AI(人工智能)
- 学好数据库,看这9本书就够了
- HDU1754 I Hate It 简单线段树
- android: binder: error log: binder_alloc_buf, no vma
- 将当前目录下cifar-10-batches-py转换成train图片和test图片,并同时生成train.txt 和 test.txt
- ZOJ2969-Easy Task
- POJ 3468 A Simple Problem with Integers 线段树(成段更新)