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

  1. #include <cstdio>
  2. #include <iostream>
  3. #include <cmath>
  4. using namespace std;
  5. const int maxn=200000+100;
  6. int sum[maxn<<2];
  7. void pushup(int rt) {
  8. sum[rt]=max(sum[rt<<1],sum[rt<<1|1]);
  9. }
  10. void build(int l,int r,int rt) {
  11. if(l==r) {
  12. scanf("%d",&sum[rt]);
  13. return ;
  14. }
  15. int m=(l+r)>>1;
  16. build(l,m,rt<<1);
  17. build(m+1,r,rt<<1|1);
  18. pushup(rt);
  19. }
  20. void update(int p,int c,int l,int r,int rt) {
  21. if(l==r) {
  22. sum[rt]=c;
  23. return;
  24. }
  25. int m=(l+r)>>1;
  26. if(p<=m) update(p,c,l,m,rt<<1);
  27. else update(p,c,m+1,r,rt<<1|1);
  28. pushup(rt);
  29. }
  30. int query(int L,int R,int l,int r,int rt) {
  31. if(L<=l&&r<=R) {
  32. return sum[rt];
  33. }
  34. int m=(l+r)>>1;
  35. int ans=0;
  36. if(L<=m) ans=max(ans,query(L,R,l,m,rt<<1));
  37. if(R>m) ans=max(ans,query(L,R,m+1,r,rt<<1|1));
  38. return ans;
  39. }
  40. int main() {
  41. // freopen("input.txt","r",stdin);
  42. int n,m;
  43. while(scanf("%d%d",&n,&m)!=EOF) {
  44. build(1,n,1);
  45. char s;
  46. int a,b;
  47. while(m--) {
  48. getchar();
  49. scanf("%c",&s);
  50. scanf("%d%d",&a,&b);
  51. if(s=='Q')
  52. printf("%d\n",query(a,b,1,n,1));
  53. else update(a,b,1,n,1);
  54. }
  55. }
  56. return 0;
  57. }

hdu 1754 I Hate It (单点修改+区间最值+裸题)的更多相关文章

  1. hdu 1754 线段树(单点替换 区间最值)

    Sample Input5 61 2 3 4 5Q 1 5 //1-5结点的最大值U 3 6 //将点3的数值换成6Q 3 4Q 4 5U 2 9Q 1 5 Sample Output5659 # i ...

  2. hdu 1754 线段树(Max+单点修改)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. I Hate It HDU - 1754 线段树 单点修改+区间最值

    #include<iostream> #include<cstring> using namespace std; ; int m,n,p; struct node{ int ...

  4. HDU 1754 I Hate It(线段树单点替换+区间最值)

    I Hate It [题目链接]I Hate It [题目类型]线段树单点替换+区间最值 &题意: 本题目包含多组测试,请处理到文件结束. 在每个测试的第一行,有两个正整数 N 和 M ( 0 ...

  5. hdu 1166 线段树(sum+单点修改)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. HDU 1754 I Hate It(线段树单点更新区间最值查询)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  7. 【HDU】1754 I hate it ——线段树 单点更新 区间最值

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  8. HDU 1754 I Hate It(线段树之单点更新 区间最值查询)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  9. hdu 1754 I Hate It 线段树 单点更新 区间最值

    线段树功能:update:单点更新 query:区间最值 #include <bits/stdc++.h> #define lson l, m, rt<<1 #define r ...

随机推荐

  1. JxBrowser之三:常用函数setNetworkDelegate

    1.常用函数setNetworkDelegate,包含对网络传输数据状态的多种监控回调. 2.着重说一下其中的几个函数 BrowserContext browserContext = BrowserC ...

  2. double 类型转化为Integer

    (1)把double先转化成int类型 Double reseve3=Double.parseDouble(bddet[0].getReserve3()); int b=reseve3.intValu ...

  3. Retrofit2

    导入项目,开启服务端 原文链接 我的Demo AndroidStudio导入会出现无法加载主类 解决办法: 1.选择自己的Jdk路径 2.运行配置,试试来回切换几次,最后选择Default就好了.再直 ...

  4. postman管理收藏夹,批量执行接口

    ①创建一个新的收藏夹,在弹出的对话框中输入收藏夹的名称和描述然后点击Create按钮创建 ②保存接口请求到收藏夹或文件夹 注意:表单格式的request和二进制格式的request中包含的文件是不会被 ...

  5. Sumo生成数据

    1.生成input_net.net.xml文件 参数解释:http://www.sumo.dlr.de/userdoc/NETGENERATE.html#Grid_Network 1).生成grid ...

  6. python -- 字典 集合

    1.字典          定义:字典是以 key :value 的形式来保存数据,用{} 来表示,存储的是 key : value        查找效率比较高(注:字典存储数据时,用的是hash值 ...

  7. SocketServer模块,hmac模块验证client合法性

    hmac模块: 1.模块初识: import hmac # h = hmac.new() #括号里要给它连个bytes类型,一个是自定义的secret_key,一个是你想进行加密的bytes # 密文 ...

  8. Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)

    项目地址https://github.com/979451341/OpenSLAudio OpenSL ES 是基于NDK也就是c语言的底层开发音频的公开API,通过使用它能够做到标准化, 高性能,低 ...

  9. web.xml配置说明

    前言 首先,web.xml文件的作用是配置web项目启动时加载的信息.(web.xml并不是一个Web的必要文件,没有web.xml,网站仍然是可以正常工作的.) 而这些配置自然是通过标签来实现的, ...

  10. [Data Structure] Tree - relative

    Segment Tree First, try to build the segment tree. lintcode suggest code: Currently recursion recomm ...