博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1754: I Hate It
阅读量:5084 次
发布时间:2019-06-13

本文共 1860 字,大约阅读时间需要 6 分钟。

///@author Sycamore ///@date 9/17/2017 ///@link http://acm.hdu.edu.cn/showproblem.php?pid=1754 #include
using namespace std; const int MAXN = 200000 + 5; int val[MAXN]; struct node {
int l, r, max_val; } ST[MAXN << 2]; void Build(int index, int l, int r) {
ST[index].l = l; ST[index].r = r; if (l == r) ST[index].max_val = val[l]; else {
int m = (l + r) >> 1; Build(index << 1, l, m); Build((index << 1) + 1, m + 1, r); ST[index].max_val = max(ST[index << 1].max_val, ST[(index << 1) + 1].max_val); } } void Update(int n, int index, int id)//top-down {
if (id < ST[index].l || id > ST[index].r) return; if (ST[index].l == id && ST[index].r == id) {
ST[index].max_val = n; return; } Update(n,index << 1, id); Update(n,(index << 1) + 1, id); ST[index].max_val = max(ST[index << 1].max_val, ST[(index << 1) + 1].max_val); } int Query(int l, int r, int index)//top-down {
if (ST[index].l > r || ST[index].r
= l && ST[index].r <= r)return ST[index].max_val; int m = (ST[index].l + ST[index].r) >> 1; if (r <= m)return Query(l, r, index << 1);//in the left interval if (l > m)return Query(l, r, (index << 1) + 1); return max(Query(l, m, index << 1), Query(m + 1, r, (index << 1) + 1)); } #define endl '\n' int main() {
ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; while (cin >> n >> m) {
for (int i = 1; i <= n; i++)cin >> val[i]; Build(1, 1, n); char cmd; while (m--) {
cin >> cmd; if (cmd == 'Q') {
int l, r; cin >> l >> r; cout << Query(l, r, 1) << endl; } else {
int a, id; cin >> id >> a; Update(a, 1, id); } } } return 0; }

 

转载于:https://www.cnblogs.com/zjnu/p/7534834.html

你可能感兴趣的文章
P4932 浏览器
查看>>
Concurrency Kit 0.2.13 发布,并发工具包
查看>>
SQL Relay 0.50 发布,数据库负载均衡器
查看>>
Infinispan 5.3.0.Alpha1 发布
查看>>
设计模式学习笔记——原型模式(Prototype)
查看>>
算法普林斯顿
查看>>
Struts2之类范围拦截器和方法拦截器
查看>>
模型层(练习)
查看>>
XML解析技术研究(一)
查看>>
Qt 学习之路 :使用 QJson 处理 JSON
查看>>
NPOI操作Excel导入导出
查看>>
angularJS 移动端焦点图
查看>>
jvm 这我就能会了 擦
查看>>
实战技能:小小微信支付业务,何必虚惊一场
查看>>
17-1 djanjo进阶-路由,视图,模板
查看>>
Shell脚本8种字符串截取方法总结
查看>>
P3254 圆桌问题
查看>>
MapReduce的运行原理
查看>>
Leetcode: Partition List
查看>>
故障转移
查看>>