HDU 1754 I Hate It(线段树)
题意 :又是一道中问题,我就不说题意了。。。。
思路 : 线段树,这道题跟1166差不多,改一些地方就差不多了。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h> using namespace std; const int maxn = ;
int a[maxn] ;
int ans ;
struct node
{
int l,r,value ;
} Node[*maxn] ; void build(int v ,int l,int r)
{
Node[v].l = l ;
Node[v].r = r ;
Node[v].value = ;
if(l == r)
{
return ;
}
int mid = (l+r)>> ;
build(v*,l,mid) ;
build(v*+,mid+,r) ;
} int query(int v,int l,int r)
{
if(Node[v].l == l && Node[v].r == r)
return Node[v].value ;
int mid = (Node[v].l+Node[v].r) >> ;
if(r <= mid)
return query(v*,l,r) ;
else
{
if(l > mid)
return query(v*+,l,r) ;
else
return max(query(v*,l,mid),query(v*+,mid+,r) );
}
} void update(int v,int n,int m)
{ if(Node[v].value < m)
Node[v].value = m ;
if(Node[v].l == n && Node[v].r == n)
{
Node[v].value = m ;
return ;
}
else
{
int mid = (Node[v].l+Node[v].r)>> ;
if(n <= mid)
update(*v,n,m) ;
else if(n > mid)
update(*v+,n,m) ;
}
} int main()
{
int n,m ;
while(~scanf("%d %d",&n,&m))
{
build(,,n) ;
ans = ;
for(int i = ; i <= n ; i++)
{
scanf("%d",&a[i]) ;
update(,i,a[i]) ;
} char ch[] ;
for(int i = ; i <= m ; i++)
{
getchar() ;
scanf("%s",ch) ;
int a,b ;
if(ch[] == 'Q')
{
scanf("%d %d",&a,&b) ;
printf("%d\n",query(,a,b)) ;
}
else if(ch[] == 'U')
{
scanf("%d %d",&a,&b) ;
update(,a,b) ;
} }
}
return ;
}
HDU 1754 I Hate It(线段树)的更多相关文章
- hdu 1754 I Hate It 线段树 点改动
// hdu 1754 I Hate It 线段树 点改动 // // 不多说,裸的点改动 // // 继续练 #include <algorithm> #include <bits ...
- HDU 1754 I Hate It(线段树之单点更新,区间最值)
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 1754 I Hate It 线段树RMQ
I Hate It Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=175 ...
- HDU 1754 I Hate It 线段树单点更新求最大值
题目链接 线段树入门题,线段树单点更新求最大值问题. #include <iostream> #include <cstdio> #include <cmath> ...
- HDU 1754 I Hate It(线段树单点替换+区间最值)
I Hate It [题目链接]I Hate It [题目类型]线段树单点替换+区间最值 &题意: 本题目包含多组测试,请处理到文件结束. 在每个测试的第一行,有两个正整数 N 和 M ( 0 ...
- HDU 1754 I Hate It (线段树)
题意:略. 析:裸的线段树. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include < ...
- HDU 1754 I Hate It(线段树区间查询,单点更新)
描述 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感.不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老 ...
- HDU 1754 I Hate It (线段树)
题目链接 Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老 ...
- hdu 1754 I Hate It 线段树基础题
Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求, ...
- hdu 1754 I Hate It(线段树水题)
>>点击进入原题测试<< 思路:线段树水题,可以手敲 #include<string> #include<iostream> #include<a ...
随机推荐
- .net在Controller里的方法添加[HttpGet]和[HttpPost]
前端用post过来,Controller就要用[HttpPost],前端用get,Controller就要用[HttpGet],或者不管前端用什么,Controller都不加这些. 前端用post $ ...
- 在DataTable中添加行和列数据
DataRow newRow = dtResult.NewRow(); newRow["ProName"] = "名字"; newRow["ProPr ...
- EF架构~过滤导航属性等,拼接SQL字符串
拼接T-SQL串,并使它具有通用性 好处:与服务器建立一次连接,给服务器发一条SQL命令,即可实现 代码如下: 1 /// <summary> 2 /// 构建Insert语句串 3 // ...
- iOS推送通知流程
①注册推送通知使用方法:registerUserNotificationSettings, registerForRemoteNotifications ④APP发送deviceToken到第三方: ...
- JS中null与undefined的区别
1.typeof操作符 用来检测变量的数据类型 例:typeof 3.14 //返回number typeof [1,2,3] //返回object 2.null 只有一个值的特殊类型,表示一个空对 ...
- javascript 事件 第23节
<html> <head> <title>DOM对象</title> <style type="text/css"> t ...
- springmvc学习(三)
第一点---------使用 @RequestMapping 映射请求• Ant 风格资源地址支持 3 种匹配符:?:匹配文件名中的一个字符 *:匹配文件名中的任意字符 **:** 匹配多层路径 @R ...
- Windows下Wamp装不上Memcache扩展
windows下wamp装不上memcache扩展2015.03.20 No Comments 1,243 views用的是WAMP集成包,PHP版本5.5.12http://windows.php. ...
- object-fit: 炒鸡方便的图片居中方法
今天在项目中遇到图片居中的问题,嗯,之前也有写过解决这个问题的文章,有n种方法.不过今天要说一个新的方案:object-fit ,嗯,这个才是真的方便的方案啊. 先看预览: object-fit 只能 ...
- hdu 5646 DZY Loves Partition 二分+数学分析+递推
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5646 题意:将n分成k个正整数之和,要求k个数全部相同:并且这k个数的乘积最大为多少?结果mod 1e^9 ...