线段树功能:update:单点更新 query:区间最值

  1. #include <bits/stdc++.h>
  2. #define lson l, m, rt<<1
  3. #define rson m+1, r, rt<<1|1
  4. using namespace std;
  5.  
  6. const int MAXN = 200008;
  7. int maxs[MAXN<<2];
  8.  
  9. void build(int l, int r, int rt)
  10. {
  11. if(l == r)
  12. {
  13. scanf("%d", &maxs[rt]);
  14. return;
  15. }
  16. int m = (l + r) >> 1;
  17. build(lson);
  18. build(rson);
  19. maxs[rt] = max(maxs[rt<<1], maxs[rt<<1|1]);
  20. }
  21.  
  22. int query(int L, int R, int l, int r, int rt)
  23. {
  24. if(L <= l && r <= R) return maxs[rt];
  25. int ret = 0;
  26. int m = (l + r) >> 1;
  27. if(L <= m) ret = max(ret, query(L, R, lson));
  28. if(R > m) ret = max(ret, query(L, R, rson));
  29. return ret;
  30. }
  31.  
  32. void updata(int p, int news, int l, int r, int rt)
  33. {
  34. if(l == r)
  35. {
  36. maxs[rt] = news;
  37. return;
  38. }
  39. int m = (l + r) >> 1;
  40. if(p <= m) updata(p, news, lson);
  41. else updata(p, news, rson);
  42. maxs[rt] = max(maxs[rt<<1], maxs[rt<<1|1]);
  43. }
  44.  
  45. int main()
  46. {
  47. // freopen("in.txt", "r", stdin);
  48. int n,k;
  49. while(~scanf("%d%d", &n, &k))
  50. {
  51. build(1, n, 1);
  52. while(k--)
  53. {
  54. char s[5];
  55. scanf("%s", s);
  56. int a,b;
  57. scanf("%d%d", &a, &b);
  58. if(s[0] == 'Q') printf("%d\n", query(a, b, 1, n, 1));
  59. else updata(a, b, 1, n, 1);
  60. }
  61. }
  62. return 0;
  63. }

hdu 1754 I Hate It 线段树 单点更新 区间最值的更多相关文章

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

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

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

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

  3. HDU 1754 I Hate It 线段树 单点更新 区间最大值

    #include<iostream> #include<string> #include<algorithm> #include<cstdlib> #i ...

  4. HDU.1394 Minimum Inversion Number (线段树 单点更新 区间求和 逆序对)

    HDU.1394 Minimum Inversion Number (线段树 单点更新 区间求和 逆序对) 题意分析 给出n个数的序列,a1,a2,a3--an,ai∈[0,n-1],求环序列中逆序对 ...

  5. HDU 1754 I Hate It 线段树单点更新求最大值

    题目链接 线段树入门题,线段树单点更新求最大值问题. #include <iostream> #include <cstdio> #include <cmath> ...

  6. hdu2795(线段树单点更新&区间最值)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 题意:有一个 h * w 的板子,要在上面贴 n 条 1 * x 的广告,在贴第 i 条广告时要 ...

  7. HDU 1754 I Hate It 线段树(单点更新,成段查询)

    题目链接: hdu: http://acm.hdu.edu.cn/showproblem.php?pid=1754 题解: 单点更新,成段查询. 代码: #include<iostream> ...

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

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

  9. hihoCoder #1586 : Minimum-结构体版线段树(单点更新+区间最值求区间两数最小乘积) (ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛)

    #1586 : Minimum Time Limit:1000ms Case Time Limit:1000ms Memory Limit:256MB Description You are give ...

随机推荐

  1. useradd linux系统创建用户和设置密码简单脚本-1

    useradd linux系统创建用户和设置密码简单脚本-1 linux_wangqiang 2019-12-04 20:51:18 65 收藏展开#!/bin/bash#快速创建用户 使用$1第一个 ...

  2. jmeter 通过CSV Data Set Config控件参数化

    CSV Data Set Config控件配置如下: 被导入的.csv 文件内容如下 用excel打开如下 设置中url2对应:cn.toursforfun.com 和 www.163.com url ...

  3. iPhone手机怎么和电脑互传文件,一条数据线搞定

    官方的方法是,通过iTunes进行文件的传输.传个文件还要特意安装个iTunes,实在是麻烦. 其实我们只需要在苹果应用商店app store下载Documents这个文件就可以. 另外,Docume ...

  4. OpenStack Rally 性能测试

    注意点:在测试nova,在配置文件里面如果不指定网络id,那么默认是外网的网络(该网络是共享的),如果想要指定网络,那么该网络必须是共享的状态,否则将会报错:无法发现网络.如果测试多于50台的虚拟机需 ...

  5. shell基础之综合练习

    0.脚本一键完成下面所有操作1.准备2台centos7系统的服务器,远程互相免密登录,以下所有题目过程中开启防火墙2.给1号机和2号机使用光盘搭建本地yum源(永久生效)3.给服务器1添加2块硬盘,1 ...

  6. 解决无法访问github的问题

    当我们想学习下载某个大神分享的github项目时,由于github域名解析异常,时常会无法访问Github网站. 下面是我总结分享的有效解决方法:思路是自己手动修改hosts文件添加域名解析! 下面教 ...

  7. MongoDB学习笔记:Python 操作MongoDB

    MongoDB学习笔记:Python 操作MongoDB   Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...

  8. Python+Selenium自动化-安装模块和浏览器驱动操作方法

    Python+Selenium自动化-安装模块和浏览器驱动操作方法 1.安装模块文件 pip install selenium 2.安装浏览器驱动 我们主要用的浏览器驱动有chrome浏览器.fire ...

  9. Vue&Element 前端应用开发之菜单和路由的关系

    我们一般的应用系统,菜单是很多功能界面的入口,菜单为了更好体现功能点的设置,一般都是动态从数据库生成的,而且还需要根据用户角色的不同,过滤掉部分没有权限的菜单:在Vue&Element的纯前端 ...

  10. MSQL 数据完整性(约束)

    0. 前言 1. 实体完整性 1.1 主键约束(primary key) 1.2 唯一约束(unique) 1.3 自动增长列(auto_increment) 2. 域完整性 数据类型 非空约束 默认 ...