HDU-1754 I Hate It
来源:互联网 发布:淘宝阿里旺旺卖家版 编辑:程序博客网 时间:2024/06/14 04:35
很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。
这让很多学生很反感。
不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。
这让很多学生很反感。
不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。
在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的数目。
学生ID编号分别从1编到N。
第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩。
接下来有M行。每一行有一个字符 C (只取'Q'或'U') ,和两个正整数A,B。
当C为'Q'的时候,表示这是一条询问操作,它询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少。
当C为'U'的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。
5 61 2 3 4 5Q 1 5U 3 6Q 3 4Q 4 5U 2 9Q 1 5
5659
Huge input,the C function scanf() will work better than cin
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAX=2e5+10;int n,m;char str[3];struct Node{int l ;int r;int Max;}tree[MAX*4];void Push(int o){ tree[o].Max = max( tree[o*2].Max , tree[o*2+1].Max); }void Buildtree(int o , int l , int r){ tree[o].l = l; tree[o].r = r; while( l == r ) { int t;scanf("%d",&t);tree[o].Max = t;return ; } int mid = ( l + r ) / 2; Buildtree(o*2 , l , mid); Buildtree(o*2+1 , mid+1 , r); Push(o);}int TreeMax(int o, int l , int r , int x ,int y){ if(l == x && r == y) { return tree[o].Max; }int mid = (l + r) / 2;if( y <= mid) return TreeMax(o*2 , l , mid , x , y); else if(x > mid) return TreeMax(o*2+1 , mid + 1 , r , x , y); else return max(TreeMax(o*2 , l , mid , x , mid) , TreeMax(o*2+1 , mid+1 , r , mid+1 , y));}void Update(int o, int l ,int r,int x , int y){ if( l == r) { tree[o].Max = y; return ; } int mid = ( l + r) / 2; if( x <= mid) Update(o*2 , l ,mid , x , y); else Update(o*2+1 , mid+1 , r , x , y); Push(o);}int main(){ while(~scanf("%d %d",&n , &m)) { Buildtree(1 ,1 , n); while(m--) { int a , b; scanf("%s %d %d",str ,&a , &b); if(str[0] == 'Q') { printf("%d\n",TreeMax(1 , 1 , n , a , b)); } else Update(1, 1 , n , a , b); } }return 0;}
阅读全文
0 0
- hdu 1754 I Hate It
- HDU 1754 I Hate It
- hdu 1754 I Hate It
- HDU 1754 I Hate It
- hdu 1754 I Hate It
- HDU 1754 I Hate It .
- HDU 1754 i hate it
- hdu 1754 I Hate It
- hdu 1754 I Hate It
- hdu 1754 I Hate It
- HDU 1754(I Hate It )
- hdu 1754 I Hate It
- hdu 1754 I Hate It
- HDU-1754-I Hate It
- hdu 1754 I Hate It
- hdu 1754 I Hate It
- hdu 1754 I hate it
- HDU 1754 I Hate It
- Atmel——目录
- Java的数据类型与运算符
- [px4仿真]px4的STIL仿真中添加向下的摄像头
- 快速搭建lnmp
- 06_校门外的树
- HDU-1754 I Hate It
- Java进阶之路【代码篇】——《CleanCode》编程规则精编(5)对象和数据结构
- 策略模式
- hdu1875 畅通工程再续【最小生成树】
- POJ2186-Popular Cows
- Gcc 编译的背后
- 你应该知道的JAVA面试题
- 今日头条大数据岗笔试题一
- 程序员面试笔试经验技巧