HDU (线段树 单点更新) I Hate It
和上一道题没什么变化,只不过把单点增减变成了单点替换,把区间求和变成了区间求最大值。
- #include <cstdio>
- #include <algorithm>
- using namespace std;
- const int maxn = ( << );
- int n, m, qL, qR, p, v;
- int _max[maxn];
- void build(int o, int L, int R)
- {
- if(L == R) { scanf("%d", &_max[o]); return; }
- int M = (L + R) / ;
- build(o*, L, M);
- build(o*+, M+, R);
- _max[o] = max(_max[o*], _max[o*+]);
- }
- void update(int o, int L, int R)
- {
- if(L == R) { _max[o] = v; return; }
- int M = (L + R) / ;
- if(p <= M) update(o*, L, M);
- else update(o*+, M+, R);
- _max[o] = max(_max[o*], _max[o*+]);
- }
- int query(int o, int L, int R)
- {
- if(qL <= L && qR >= R) return _max[o];
- int ans = -;
- int M = (L + R) / ;
- if(qL <= M) ans = max(ans, query(o*, L, M));
- if(qR > M) ans = max(ans, query(o*+, M+, R));
- return ans;
- }
- char op[];
- int main()
- {
- //freopen("in.txt", "r", stdin);
- while(scanf("%d%d", &n, &m) == )
- {
- build(, , n);
- while(m--)
- {
- scanf("%s", op);
- if(op[] == 'Q')
- {
- scanf("%d%d", &qL, &qR);
- printf("%d\n", query(, , n));
- }
- else
- {
- scanf("%d%d", &p, &v);
- update(, , n);
- }
- }
- }
- return ;
- }
代码君
HDU (线段树 单点更新) I Hate It的更多相关文章
- HDU (线段树 单点更新) 敌兵布阵
哎,又切了一天的水题. 线段树果然必须自己写出来才能叫真正的会了,之前一直在套模板确实不好. 这个题目是单点更新 之 单点增减,= ̄ω ̄= #include <cstdio> <&l ...
- HDU 1166 敌兵布阵(线段树单点更新,板子题)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU.1166 敌兵布阵 (线段树 单点更新 区间查询)
HDU.1166 敌兵布阵 (线段树 单点更新 区间查询) 题意分析 加深理解,重写一遍 代码总览 #include <bits/stdc++.h> #define nmax 100000 ...
- HDU.1394 Minimum Inversion Number (线段树 单点更新 区间求和 逆序对)
HDU.1394 Minimum Inversion Number (线段树 单点更新 区间求和 逆序对) 题意分析 给出n个数的序列,a1,a2,a3--an,ai∈[0,n-1],求环序列中逆序对 ...
- HDU 3074.Multiply game-区间乘法-线段树(单点更新、区间查询),上推标记取模
Multiply game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- hdu 2795 Billboard 线段树单点更新
Billboard Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=279 ...
- hdu 1166 敌兵布阵 (线段树单点更新)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 1754 I Hate It 线段树单点更新求最大值
题目链接 线段树入门题,线段树单点更新求最大值问题. #include <iostream> #include <cstdio> #include <cmath> ...
- HDU 1166 敌兵布阵(线段树单点更新)
敌兵布阵 单点更新和区间更新还是有一些区别的,应该注意! [题目链接]敌兵布阵 [题目类型]线段树单点更新 &题意: 第一行一个整数T,表示有T组数据. 每组数据第一行一个正整数N(N< ...
随机推荐
- HOWTO: Create native-looking iPhone/iPad applications from HTML, CSS and JavaScript
HOWTO: Create native-looking iPhone/iPad applications from HTML, CSS and JavaScript Though it's not ...
- 如何使用 OneAPM 监控微软 Azure Cloud Service ?
不知不觉微软 Azure 已经进入中国市场近两年的时间.那么 Azure 平台的性能究竟如何?资源加载的延迟.虚拟机的稳定性等问题是否切实满足客户期许.这些都是大家对微软 Azure 这个国外的云服务 ...
- JSP-declareAndOutput
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" errorPag ...
- tomcat 多开设置 需要需改的3个端口
启动多tomcat需要需改的3个端口 我所用Tomcat服务器都为zip版,非安装版.以两个为例: 安装第二个Tomcat完成后,到安装目录下的conf子目录中打开server.xml文件,查找以下三 ...
- ZOJ 1115 Digital Roots(简单,字符串与数)
题目 //好一道水水题,可是我居然也错了那么多次,后来百度来发现是因为数据数位可能很长很长,要用字符串数组... //简单 //有坑啊——数据可能很大很大,要用字符串表示! #include<s ...
- swift循环
..< { println(... { println( ":"lala"] for (key,value)in dic { println ...
- App接口设计思路
http://www.techweb.com.cn/network/system/2016-01-11/2256859.shtml http://www.woshipm.com/pmd/172952. ...
- Spring MVC 教程,快速入门,深入分析(转)
原文地址:http://elf8848.iteye.com/blog/875830/
- 【web性能】页面呈现、重绘、回流
在讨论页面重绘.回流之前.需要对页面的呈现流程有些了解,页面是怎么把html结合css等显示到浏览器上的,下面的流程图显示了浏览器对页面的呈现的处理流程.可能不同的浏览器略微会有些不同.但基本上都是类 ...
- RHEL7.2下netcat工具安装教程
1.下载 下载地址:http://sourceforge.net/projects/netcat/files/netcat/0.7.1/(下载的是netcat-0.7.1.tar.gz版本) 2.解压 ...