线段树(单点更新) 之 hdu 1754
来源:互联网 发布:mac pro 13.3屏幕尺寸 编辑:程序博客网 时间:2024/06/05 02:13
// [7/25/2014 Sjm]/*线段树单点更新水题。。。*/
#include <iostream>#include <cstdlib>#include <cstdio>#include <algorithm>using namespace std;#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1#define GetMid l + ((r-l)>>1)const int MAX_N = 200005;int MAX[MAX_N << 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 = GetMid;Build(lson);Build(rson);PushUp(rt);}void Update(int p, int grade, int l, int r, int rt) {if (l == r) { MAX[rt] = grade; return; }int m = GetMid;if (p <= m) { Update(p, grade, lson); }else { Update(p, grade, 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 = GetMid;int ans = 0;if (L <= m) { ans = max(ans, Query(L, R, lson)); }if (R > m) { ans = max(ans, Query(L, R, rson)); }return ans;}int main(){//freopen("input.txt", "r", stdin);//freopen("output.txt", "w", stdout);int N, M, a, b;char ch[2];while (~scanf("%d %d", &N, &M)) {Build(1, N, 1);while (M--) {scanf("%s %d %d", ch, &a, &b);if ('Q' == ch[0]) { printf("%d\n", Query(a, b, 1, N, 1)); }else { Update(a, b, 1, N, 1); }}}return 0;}
0 0
- 线段树(单点更新) 之 hdu 1754
- HDU--1754(线段树,单点更新)
- HDU 1754 线段树(单点更新)
- 线段树(单点更新(模板)) 之 hdu 1166
- HDU 1166 敌兵布阵(线段树之单点更新)
- hdu 1754 线段树 单点更新 水
- hdu 1754线段树单点更新
- hdu 1754 线段树入门 单点更新
- hdu 1754 线段树单点更新求最值
- hdu 1166(线段树,单点更新)
- HDU 1166(线段树单点更新)
- HDU 1394(线段树单点更新)
- HDU-1166(线段树-单点更新)
- 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 (线段树单点更新)
- input file 问题集
- ORA-65096: invalid common user or role name
- IndexSearcher
- java排序算法
- Linux处理7z文件(压缩)的工具
- 线段树(单点更新) 之 hdu 1754
- Hibernate中session.connection()的替代方法
- hdu 2115 I Love This Game
- android 修改xml实现横屏与竖屏
- linux inittab详解
- hdoj 1097 A hard puzzle
- SSI详解
- 杭电2044第一次超时,一改就过了,但还是不知道第一次为何超时,__int64 必须用,因为数组里的数可能很大,递推1-2:2,1-3:1,1-4:2,1-5:3,1-6:4,
- eclipse中user libraries部署到WEB-INF/lib