NOJ 123 树状数组 插线问点
2011-03-24 07:49
162 查看
#include<iostream> #include<cstring> #include<cstdio> #include<string> using namespace std; #define _size 1000010 int tab[_size]; int N; int lowbit(int n){return n&(-n);} void update(int pos,int v) { while(pos>0){tab[pos]+=v;pos-=lowbit(pos);} } int getposv(int pos) { int sum=0; while(pos<=N){sum+=tab[pos];pos+=lowbit(pos);} return sum; } int main() { int n,beg,end,v;cin>>n>>N; char s1[10]; while(n--){ scanf("%s",s1); if(strcmp("ADD",s1)==0){ scanf("%d%d%d",&beg,&end,&v); update(beg-1,-v); update(end,v); }else{ scanf("%d",&beg); printf("%d/n",getposv(beg)); } } }
相关文章推荐
- NYOJ 123 士兵杀敌(四) (树状数组) 插线问点
- ♥NYOJ 123-士兵杀敌(四)【线段树&&树状数组】
- nyoj 123 树状数组 插线问点
- nyoj 123 士兵杀敌(四)(树状数组——插线问点)
- NYOJ123 士兵杀敌(四)(树状数组,插线问点)
- nyoj 123 士兵杀敌(四)(树状数组——插线问点)
- NYOJ 123 士兵杀敌4-树状数组的插线求点
- 123士兵杀敌(四)(树状数组 插线问点)
- nyoj 123 士兵杀敌(四)(树状数组——插线问点)
- nyoj 123 士兵杀敌(四) 树状数组【单点查询+区间修改】
- NYOJ 123 士兵杀敌4-树状数组的插线求点
- 南阳oj 123 树状数组入门 区间更新 单点求值
- nyoj 123 士兵杀敌(四)(树状数组——插线问点)
- NOJ——1669xor的难题(树状数组的异或求和)
- nyoj 123 士兵杀敌(四)(树状数组——插线问点)
- nyoj123士兵杀敌(四)树状数组
- nyoj 123 士兵杀敌(四)(树状数组——插线问点)
- nyoj 123 士兵杀敌(四)<经典树状数组---插线求点>
- nyoj 123 士兵杀敌(四)(树状数组——插线问点)
- nyoj 士兵杀敌(四) 123 (线段树&&树状数组) 更新区间值求特定位置的值