士兵杀敌四 树状数组之插点问线

来源:互联网 发布:python爬虫去重代码 编辑:程序博客网 时间:2024/05/30 23:05
#include<stdio.h>#define max 1000003int c[max],m;int lowbit(int k){return k&(-k);}void add(int k,int he)//前k项都增加he{while(k>0){c[k]+=he;k-=lowbit(k);}}void Q(int k)//查询{int query=0;while(k<=m){query+=c[k];k+=lowbit(k);}printf("%dn",query);}int main(){int t,from,to,he;char ch[6];scanf("%d%d",&t,&m);while(t--){scanf("%s",ch);if(ch[0]=='A'){scanf("%d%d%d",&from,&to,&he);add(from-1,-he);add(to,he);}else if(ch[0]=='Q'){scanf("%d",&from);Q(from);}}return 0;}

0 0
原创粉丝点击