》》点击进入原题测试《《

思路:线段树水题,可以手敲

#include<string>
#include<iostream>
#include<algorithm> #define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1 using namespace std; const int maxn = 2e5 + ; int tree[maxn << ]; void build(int l, int r, int rt)
{
if (l == r){
cin >> tree[rt];
return;
}
int m = (l + r) >> ;
build(lson);
build(rson);
tree[rt] = max(tree[rt << ], tree[rt << | ]);
}
void update(int x, int ans, int l, int r, int rt)
{
if (l == r){
tree[rt] = ans;
return;
}
int m = (l + r) >> ;
if (x <= m)update(x, ans, lson);
else update(x, ans, rson);
tree[rt] = max(tree[rt << ] , tree[rt << | ]);
}
int query(int L, int R, int l, int r, int rt)
{
if (L <= l&&r <= R){
return tree[rt];
}
int m = (l + r) >> , ans = ;
if (L <= m)ans = max(ans, query(L, R, lson));
if (R > m)ans = max(ans, query(L, R, rson));
return ans;
}
void Print(int l, int r, int rt)
{
if (l == r){
cout << rt << " = " << tree[rt] << endl;
return;
}
cout << rt << " = " << tree[rt] << endl;
int m = (l + r) >> ;
if (l <= m)Print(lson);
if (r > m)Print(rson);
}
int main()
{
std::ios::sync_with_stdio(false); int n, q;
while (cin >> n >> q){
build(, n, );
string flag; int i, j;
while (q--){
cin >> flag >> i >> j;
if (flag == "U"){
update(i, j, , n, );
// Print(1, n, 1);
}
else if (flag == "Q"){
cout << query(i, j, , n, ) << endl;
}
} } return ;
}

最新文章

  1. Github团队开发示例(二)
  2. Android中 int,float,Double,String 互相转换
  3. nginx访问日志获取访问前10的url
  4. 使用WITH AS提高性能简化嵌套SQL(转)
  5. POJ 2117 (割点+连通分量)
  6. Smart210学习记录------paltform总线
  7. POJ 3253 Fence Repair(优先队列,哈夫曼树,模拟)
  8. 【Servlet】doGet()与doPost()的区别
  9. codeforces #309 div1 A
  10. js 中中括号,大括号使用详解
  11. 如何让div出现滚动条
  12. 基于visual Studio2013解决面试题之0707最小元素
  13. Shell的学习就从重装系统开始吧
  14. python单元测试框架unittest总结
  15. 关于video标签移动端开发遇到的问题,获取视频第一帧,全屏,自动播放,自适应等问题
  16. 解决IDEA安装Python插件,下载失败的方法
  17. 数据库vertica 脚本方式的导入导出
  18. ThreeJS笔记(一)
  19. 第K大01背包
  20. 使用wireshark抓包工具 检测不到本地网卡

热门文章

  1. 第十一周 Leetcode 576. Out of Boundary Paths (HARD) 计数dp
  2. 基于Spark的GBDT + LR模型实现
  3. ECMA里面的操作符,
  4. 第三章 K近邻法(k-nearest neighbor)
  5. [洛谷3930]SAC E#1 - 一道大水题 Knight
  6. 二分搜索 HDOJ 2289 Cup
  7. Xml学习笔记(2)
  8. 循环语言(for)
  9. Tcl之Read files for synthesis
  10. java多线程(线程通信-等待换新机制-代码优化)