NYOJ116 士兵杀敌(二) 单点更新+区间求和
来源:互联网 发布:风尚购物网络电视直播 编辑:程序博客网 时间:2024/05/17 07:46
#include<bits/stdc++.h>using namespace std;const int MAXNODE=4000000+100;const int MAXN=2e6+10;struct NODE{//int value; //value表示单点值 int grade; //grade表示掌控区间的最大值 int left,right;}node[MAXNODE];int father[MAXN];void BuildTree(int i,int left,int right){node[i].left=left;node[i].right=right;node[i].grade=0;if(left==right){father[left]=i;return;}BuildTree(i<<1,left,(int)(floor(left+right)/2.0));BuildTree((i<<1)+1,(int)(floor(left+right)/2.0)+1,right);}void UpdateTree(int ri,int b){if(ri==1){node[ri].grade+=b;return ;}node[ri].grade+=b;UpdateTree(ri/2,b);}int Sum;void Query(int i,int l,int r){if(node[i].left==l&&node[i].right==r){Sum+=node[i].grade;return ;}i=i<<1;if(l<=node[i].right){if(r<=node[i].right) Query(i,l,r);else Query(i,l,node[i].right);}i++;if(r>=node[i].left){if(l>=node[i].left) Query(i,l,r);else Query(i,node[i].left,r);}}int main(){int n,m,g;ios::sync_with_stdio(false);while(cin>>n>>m){BuildTree(1,1,n);for(int i=1;i<=n;i++){cin>>g;//node[father[i]].value=g;UpdateTree(father[i],g);}char op[10];int a,b;while(m--){cin>>op>>a>>b;if(op[0] == 'Q'){Sum=0;Query(1,a,b);cout<<Sum<<endl;}else{//node[father[a]].value+=b;UpdateTree(father[a],b);}}}return 0;}
阅读全文
0 0
- NYOJ116 士兵杀敌(二) 单点更新+区间求和
- NYOJ116 士兵杀敌(二)(线段树区单点更新,区间求和,zkw线段树)
- nyoj116 士兵杀敌(二)(线段树的区间查询和单点更新)
- nyoj116士兵杀敌(二)线段树单点更新
- NYOJ116 士兵杀敌(二) 线段数、单点更新
- ny 116 士兵杀敌(二) -- 线段树(单点更新,区间求和)
- nyoj1115-士兵杀敌(二)(线段树单点更新,区间求和)
- NYOJ 116 士兵杀敌(二)(线段树区间求和+单点更新)
- NYOJ 116 士兵杀敌(二)(线段树—区间求和,单点加值更新)
- NYOJ116 士兵杀敌(二)
- NYOJ116士兵杀敌(二)
- nyoj116 士兵杀敌(二)
- nyoj116士兵杀敌(二)
- NYOJ116 士兵杀敌(二)【树状数组】
- nyoj116——士兵杀敌(二)
- 【nyoj116】士兵杀敌二(线段树)
- nyoj 116 士兵杀敌(二) 【线段树】区间求和&&节点更新
- 士兵杀敌(二)(树状数组+单点更新+区间和)
- python中模块和包
- OpenCV数据结构Mat
- 根据IP获取国家省市
- ELK日志分析系统
- mysql分库分表的方法
- NYOJ116 士兵杀敌(二) 单点更新+区间求和
- Postman使用官方文档翻译--15证书添加
- 2017上海工业软件高峰论坛,庆科信息畅谈工业物联网的连接和SaaS服务
- Python 3.0安装BeautifulSoup插件并使用 与Python 2 version of Beautiful Soup under Python 3问题处理
- 高数 02.02函数的求导法则
- 数据库分库分表策略的具体实现方案
- C#从入门到入土——_17_11_10
- JAVA集合类汇总
- Android的基本权限及中文备注