hdu 1754 I Hate It (单点修改+区间最值+裸题)
来源:互联网 发布:嵌入式linux书 编辑:程序博客网 时间:2024/05/18 23:25
Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 77423 Accepted Submission(s): 29789
Problem Description
很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。
这让很多学生很反感。
不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。
Input
本题目包含多组测试,请处理到文件结束。
在每个测试的第一行,有两个正整数 N 和 M ( 0
#include <cstdio>#include <iostream>#include <cmath>using namespace std;const int maxn=200000+100;int sum[maxn<<2];void pushup(int rt) { sum[rt]=max(sum[rt<<1],sum[rt<<1|1]);}void build(int l,int r,int rt) { if(l==r) { scanf("%d",&sum[rt]); return ; } int m=(l+r)>>1; build(l,m,rt<<1); build(m+1,r,rt<<1|1); pushup(rt);}void update(int p,int c,int l,int r,int rt) { if(l==r) { sum[rt]=c; return; } int m=(l+r)>>1; if(p<=m) update(p,c,l,m,rt<<1); else update(p,c,m+1,r,rt<<1|1); pushup(rt);}int query(int L,int R,int l,int r,int rt) { if(L<=l&&r<=R) { return sum[rt]; } int m=(l+r)>>1; int ans=0; if(L<=m) ans=max(ans,query(L,R,l,m,rt<<1)); if(R>m) ans=max(ans,query(L,R,m+1,r,rt<<1|1)); return ans;}int main() {// freopen("input.txt","r",stdin); int n,m; while(scanf("%d%d",&n,&m)!=EOF) { build(1,n,1); char s; int a,b; while(m--) { getchar(); scanf("%c",&s); scanf("%d%d",&a,&b); if(s=='Q') printf("%d\n",query(a,b,1,n,1)); else update(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 (splay区间最值单点修改模板)
- 树状数组求带单点修改区间最值问题 HDU 1754:I Hate It
- HDU 1754 I Hate It 数据结构+单点修改+区间极值
- HDU 1754I 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 【线段树--单点更新,区间最值】
- 背包问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果
- PowerDesigner16配置显示注释comment配置方法
- POJ_1166_The Clocks
- linux下动态链接库(.so)的显式调用和隐式调用
- 【codevs1907】【方格取数3】二分图最大带权独立集
- hdu 1754 I Hate It (单点修改+区间最值+裸题)
- js事件
- URG和PSH标志位
- JSP案例_简单实现用户信息的增、删、查、改
- Network In Network学习笔记
- spring 注解注入
- TCP的四种定时器
- 前端切图
- 【SpringMVC】 模型数据