HDU 1754I Hate It(线段树)
来源:互联网 发布:金域名苑 编辑:程序博客网 时间:2024/06/05 05:40
中文题目就不多说意思了 大概是让你求一个区间的最值问题 无情套一发模板
#include <iostream>#include<cstdio>#include<algorithm>#include<cstring>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;const int maxn = 200005;int Max[maxn << 2];void Pushup(int rt){ Max[rt] = max(Max[rt<<1] , Max[rt<<1|1]);}void build(int l,int r,int rt){ if(l == r){ scanf("%d",&Max[rt]); return ; } int m = (l + r) >> 1; build(lson); build(rson); Pushup(rt);}void Update(int L,int c,int l,int r,int rt){ if(l == r){ Max[rt] = c; return ; } int m = (l + r) >> 1; if(L <= m) Update(L , c, lson); else Update(L , c, rson); Pushup(rt);}int query(int L,int R,int l,int r,int rt){ if(L <= l && r <= R){ return Max[rt]; } int m = (l + r) >> 1; int ret = -1; if(L <= m)ret = max (ret , query(L , R, lson)); if(R > m)ret = max (ret , query(L , R, rson)); return ret;}int main(){ int N,M,a,b; char op[5]; while(~scanf("%d%d",&N,&M)){ build(1 , N, 1); for (int i = 0; i < M; i ++) { scanf("%s",op); if(op[0] == 'U'){ scanf("%d%d",&a,&b); Update(a , b, 1, N, 1); } else { scanf("%d%d",&a,&b); printf("%d\n",query(a , b, 1, N, 1)); } } } return 0;}
0 0
- HDU 1754 I Hate It 线段树
- [hdu] 1754 I hate it -- 线段树
- hdu 1754 -- I Hate It (线段树)
- HDU 1754 I Hate It 线段树
- 线段树 hdu 1754 I Hate It
- HDU 1754 I Hate It(线段树)
- hdu 1754 (线段树)I Hate It
- hdu-1754 I Hate It 线段树
- HDU--1754 -- I Hate It [线段树]
- 【线段树】hdu 1754 I hate it
- hdu - 1754 I Hate It(线段树)
- HDU--1754--I Hate It--线段树
- HDU-1754 I Hate It 线段树
- hdu 1754 I Hate It 线段树
- HDU-1754-I Hate It(线段树)
- HDU 1754 I Hate It (线段树)
- hdu 1754 I hate it(线段树)
- 【HDU】 1754 I Hate It 线段树
- 内核新的ioctl方式--unlocked_ioctl和compat_ioctl(解决error:unknown field 'ioctl' specified in initializer)
- Android应用程序框架
- 3. Python开发--基本数据类型操作方法
- Android App 启动页(Splash)黑/白闪屏现象
- 动态链接原理分析
- HDU 1754I Hate It(线段树)
- 课堂笔记_ B样条曲线和NUBRS
- 深拷贝与浅拷贝
- 奇异值分解(SVD) --- 线性变换几何意义
- java入门(数组)
- java接口
- 欢迎使用CSDN-markdown编辑器
- Python变量命名用法(一般变量、常量、私有变量、内置变量)
- 四种会话跟踪技术