HDU1754 I Hate It 单点更新+区间求最值
来源:互联网 发布:java基础类型有哪些 编辑:程序博客网 时间:2024/06/13 02:20
//线段树模版#include<bits/stdc++.h>using namespace std;const int MAXNODE=1<<19;const int MAXN=2e6+10;struct NODE{int value; //这里的value表示单点值,取左右儿子的最大值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].value=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){if(ri==1) return ;int fi=ri/2;int a=node[fi<<1].value;int b=node[(fi<<1)+1].value;node[fi].value=max(a,b);UpdateTree(ri/2);}int Max; //Max可以写到Query函数里面让Query直接返回void Query(int i,int l,int r){if(node[i].left==l&&node[i].right==r){Max=max(Max,node[i].value);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]);}string op;int a,b;while(m--){cin>>op>>a>>b;if(op[0] == 'Q'){Max=0;Query(1,a,b);cout<<Max<<endl;}else{node[father[a]].value=b;UpdateTree(father[a]);}}}return 0;}
阅读全文
0 0
- HDU1754 I Hate It 单点更新+区间求最值
- 单点更新查询区间最大值 hdu1754 I hate it
- hdu1754 I Hate It(单点更新)
- HDU1754 I Hate It 线段树(单点更新,区间最值)
- Hdu1754 I Hate It 线段树、单点更新+区间最值
- hdu1754 I Hate It(线段树,单点更新,区间最值)
- HDU1754 I Hate It(线段树单点更新,区间最大值,zkw线段树)
- HDU1754(I hate it!--线段树单点更新,查找最大值)
- HDU1754:I Hate It(线段树单点更新)
- hdu1754 I Hate It 线段树,单点更新
- HDU1754 I Hate It(线段树单点更新)
- HDU1754 I Hate It 线段树单点更新
- HDU1754 I Hate It 线段树 单点更新
- HDU1754-I Hate It-线段树(单点更新)
- I Hate It(单点更新区间求最值)
- Hdu 1754 I Hate It 单点更新,区间最值
- hdu 1754 I Hate It (单点更新,区间查询)
- I Hate It 树状数组 单点更新 区间最大值
- PRACTICAL HASKELL
- cocos-lua学习笔记(五)cocos2d-Lua类的实现
- 密集人群计数的开源代码github地址
- AXURE 如何制作二级导航
- 闲谈Tomcat性能优化
- HDU1754 I Hate It 单点更新+区间求最值
- Java自定义实现链栈
- myeclipse的设置快捷键
- 入侵windows的流程
- MQTT客户端测试工具及java资源
- MongoDB 介绍NoSQL(一)
- npm ERR!Please include the following file with any support request...../npm-debug.log
- rabbitmq channel参数详解
- 代理-->静态代理&动态代理