杭电hdu 1754 i hate it 线段树
来源:互联网 发布:软件关键性等级 编辑:程序博客网 时间:2024/04/28 18:55
http://acm.hdu.edu.cn/showproblem.php?pid=1754
讨论里面的一个数据没有过,结果就wrong了两次,很是悲剧啊,
5 3
1 2 3 4 5
Q 1 5
U 5 0
Q 1 5
就是这组该死的数据,以后还是要多测试两组数据的。
#include <stdio.h>#define MAX 200010typedef struct _node{int left;int right;int high;}node;node no[MAX*3];int n, m;int t, grade[MAX];int maxh(int a, int b){return a > b ? a : b;}void initTree(int l, int r, int i){no[i].left = l;no[i].right = r;if(l==r){no[i].high = grade[t ++];//这里有点儿问题,当为grade[l]时有组测试数据错误return ;}int mid = (l+r)/2;initTree(l, mid, i*2);initTree(mid+1, r, i*2+1);no[i].high = maxh(no[i*2].high, no[i*2+1].high);}//修改void modify(int l, int r, int i, int tmp, int value){if(no[i].left==no[i].right){no[i].high = value;return ;}int mid = (no[i].left+no[i].right)/2;if(tmp <= mid){modify(l, r, i*2, tmp, value);}else {modify(l, r, i*2+1, tmp, value);}no[i].high = maxh(no[i*2].high, no[i*2+1].high);}int tmpgd;//查询void query(int start, int end, int i){if(no[i].left==start&&no[i].right==end){if(tmpgd<no[i].high)tmpgd = no[i].high;return ;}int mid = (no[i].left+no[i].right)/2;if(end <= mid){query(start, end, i*2);}else if(start > mid){query(start, end, i*2+1);}else {query(start, mid, i*2);query(mid+1, end, i*2+1);}}int main(){//freopen("input.txt","r",stdin);int i;char c[2];int a, b;while(scanf("%d%d", &n, &m)!=EOF){for(i = 0; i < n; i ++){scanf("%d", &grade[i]);}t = 0;initTree(1, n, 1);while(m--){scanf("%s%d%d", c, &a, &b);if(c[0] == 'U')modify(1, n, 1, a, b);else {tmpgd = 0;query(a, b, 1);printf("%d\n", tmpgd);}}}return 0;}
- 杭电hdu 1754 i hate it 线段树
- HDU--杭电--1754--I Hate It--线段树
- 杭电1754 I Hate It (线段树)
- 【杭电oj】1754 - I Hate It(线段树)
- 杭电acm 1754I Hate It(线段树)
- 杭电 hdu 1754 I Hate It (线段树 + 详细注释)
- 杭电 HDU 1754 I Hate It (线段树 + 详细注释)
- 杭电 HDU ACM 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
- 无
- su
- 桥接模式(Bride Pattern):
- MyEclipse Android 开发环境搭建
- PAGE_ALIGN()
- 杭电hdu 1754 i hate it 线段树
- umask
- chgrp
- chmod
- 赵雅智_java.方法
- 字符型指针变量与字符数组的区别
- js_prototype
- chown
- Eclipse加入PHP插件并支持PHP自动提示