I Hate It HDOJ---1754
I Hate It
Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 29528    Accepted Submission(s): 11703
这让很多学生很反感。
不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。
在每个测试的第一行,有两个正整数 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。
#include<stdio.h>
#include<string.h>
#define L(x) (x << 1)
#define R(x) (x << 1|1)
#define MAX 200000
typedef struct
{
int left;
int right;
int temp_max;
}Node;
Node node[*MAX];
int max;
int getmax(int x,int y)
{
return x <y?y:x;
} void build(int l,int r,int k)
{
node[k].left = l;
node[k].right = r;
node[k].temp_max = ;
if(l == r)
return ;
int mid = (l+r) >> ;
build(l,mid,L(k));
build(mid+,r,R(k));
} void insert(int pos,int val,int k)
{
if(pos >= node[k].left && pos <= node[k].right)
{
node[k].temp_max = getmax(val,node[k].temp_max);
}
if(node[k].left == node[k].right)
return ;
if(pos < node[R(k)].left)
insert(pos,val,L(k));
else
insert(pos,val,R(k));
} int get_result(int l,int r,int k)
{
if(l == node[k].left && r == node[k].right)
{
return max = node[k].temp_max;
}
if(node[k].left == node[k].right)
return max;
if(r < node[R(k)].left)
get_result(l,r,L(k));
else if(l > node[L(k)].right)
return get_result(l,r,R(k));
else
return max = getmax(get_result(l,node[L(k)].right,L(k)),get_result(node[R(k)].left,r,R(k)));
} int main()
{
int n,m,i,j,k;
char str[];
while(~scanf("%d%d",&n,&m))
{
build(,n,);
memset(str,,sizeof(str));
for(i = ;i <= n;i ++)
{
scanf("%d",&j);
insert(i,j,);
}
for(i = ;i <= m;i ++)
{
scanf("%s",str);
if(!strcmp(str,"Q"))
{
max = ;
scanf("%d%d",&j,&k);
get_result(j,k,);
printf("%d\n",max);
}
else
{
scanf("%d%d",&j,&k);
insert(j,k,);
}
memset(str,,sizeof(str));
}
}
return ;
}
I Hate It HDOJ---1754的更多相关文章
- HDOJ 1754 I Hate It 线段树 第二题
		
I Hate It Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就 ...
 - HDOJ 1754 I Hate It (线段树)
		
题目: Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感.不管你喜不喜欢,现在需要你做的是,就是按照老师的要 ...
 - 【HDOJ】【1754】I Hate It
		
线段树 这是一道线段树的裸题……带单点修改的RMQ 为什么我会想到写这么一道傻逼题呢?是因为这样……
 - HDOJ(HDU).1754 I Hate It (ST 单点替换 区间最大值)
		
HDOJ(HDU).1754 I Hate It (ST 单点替换 区间最大值) 点我挑战题目 题意分析 从题目中可以看出是大数据的输入,和大量询问.基本操作有: 1.Q(i,j)代表求区间max(a ...
 - 【HDOJ】1754 I Hate It
		
线段树. #include <iostream> #include <cstdio> #include <cstring> using namespace std; ...
 - HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
		
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
 - HDOJ 2317. Nasty Hacks 模拟水题
		
Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
 - HDOJ 1326. Box of Bricks 纯水题
		
Box of Bricks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
 - HDOJ 1004 Let the Balloon Rise
		
Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...
 - hdoj 1385Minimum Transport Cost
		
卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...
 
随机推荐
- UIImagePickerController显示中文界面
			
iOS开发中,我们经常遇到获取拍照.相册中图片的功能,就必然少不了UIImagePickerController,但是我们发现当我们使用它的时候,它的页面是英文的,看着很别扭,国人还是比较喜欢看中文界 ...
 - 安装flash 插件scaleform出现错误:Scaleform Launch Panel.Launcher.handleDataLoaderIOError(): Loading XML Failedscaleform
			
经排查发现是Scaleform Launcher.swf报的错 (C:\Users\Administrator\AppData\Local\Adobe\Flash CC\zh_CN\Configura ...
 - 第3章 Struts2框架--1、Struts2环境搭建
			
第3章 Struts2框架--1.Struts2环境搭建 搭建步骤: 1.从下载http://struts.apache.org 没找到Struts2.3.16版,就下载了2.3.29 2.拷贝后解压 ...
 - java实现qq邮箱每天定时发送邮件
			
本周四的时候去学校的某机构值班,主要工作是帮老师送文件,干一些杂活.那天没有什么活儿,于是想起用Java实现发送邮件和接收邮件的功能.前几天接触过一点quartz框架,用来实现定时开始任务的功能.于是 ...
 - wamp集成环境php多版本搭建(php5.5,php5.6,php7.0.6)
			
首先需要搭建的版本可以在php官方(http://windows.php.net/download)下载对应的版本,X86对应的是32位操作系统,X64对应的是64位操作系统. 1:下载 ...
 - Spring MVC框架理解
			
原文链接:ITeye SpringMVC深度探险专栏 基本要素 1. 指定SpringMVC的入口程序(在web.xml中) <!-- Processes application request ...
 - 『奇葩问题集锦』Ruby 切换淘宝源报错WARNING: Error fetching data: SSL_connect returned=1 errno=0 state=SSLv3 read s erver certificate B: certificate verify failed
			
===>首先需要使用https<===https://ruby.taobao.org/ 第一步 下载http://pan.baidu.com/s/1kU0rxtH 复制到ruby安装的根目 ...
 - JavaScript入门介绍(一)
			
JavaScript入门介绍 [经常使用的调试工具][w3school.com.cn在线编辑] [Chrome浏览器 开发调试工具]按F121.代码后台输出调试:console.log("t ...
 - thinkphp分页格式的完全自定义,直接输入数字go到输入数字页
			
实现分页效果如下: 以下标注红色字体的为重点 找到文件page.class.php在ThinkPHP/Library/Thinkpage.class.php并打开文件,复制函数show,在本文件中 ...
 - TDirectory.IsRelativePath是否相对路径
			
使用函数: System.IOUtils.TDirectory.IsRelativePath class function IsRelativePath(const Path: string): Bo ...