点我看题目

题意  :又是一道中问题,我就不说题意了。。。。

思路 : 线段树,这道题跟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(线段树)的更多相关文章

  1. hdu 1754 I Hate It 线段树 点改动

    // hdu 1754 I Hate It 线段树 点改动 // // 不多说,裸的点改动 // // 继续练 #include <algorithm> #include <bits ...

  2. HDU 1754 I Hate It(线段树之单点更新,区间最值)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. 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 ...

  4. HDU 1754 I Hate It 线段树单点更新求最大值

    题目链接 线段树入门题,线段树单点更新求最大值问题. #include <iostream> #include <cstdio> #include <cmath> ...

  5. HDU 1754 I Hate It(线段树单点替换+区间最值)

    I Hate It [题目链接]I Hate It [题目类型]线段树单点替换+区间最值 &题意: 本题目包含多组测试,请处理到文件结束. 在每个测试的第一行,有两个正整数 N 和 M ( 0 ...

  6. HDU 1754 I Hate It (线段树)

    题意:略. 析:裸的线段树. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include < ...

  7. HDU 1754 I Hate It(线段树区间查询,单点更新)

    描述 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感.不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老 ...

  8. HDU 1754 I Hate It (线段树)

    题目链接 Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老 ...

  9. hdu 1754 I Hate It 线段树基础题

    Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求, ...

  10. hdu 1754 I Hate It(线段树水题)

    >>点击进入原题测试<< 思路:线段树水题,可以手敲 #include<string> #include<iostream> #include<a ...

随机推荐

  1. 第三章 jQuery中的DOM操作

    DOM(Document Object Model)文档对象模型,每张网页都能用DOM表示出来,每一份DOM都能看成一颗DOM树. jQuery继承了JavaScript对DOM对象操作的特性,使开发 ...

  2. ASP长文章分页的两个方法,函数

    '按标识手动分页 function manualPage(str) pages=request.QueryString("page") contentstr=split(str,& ...

  3. Android开发常见问题及解决方法

    http://blog.csdn.net/silangquan/article/details/8104414

  4. effective c++(05)(06)之c++默默编写并调用的函数

    1. 当只写一个空类的时候,编译器会为他声明一个copy构造函数,一个copy assignment函数和一个析构函数.如下: 如果写下: class Empty{ }; 编译器就会实现以下代码: c ...

  5. System.Web.Mvc.Html 命名空间小计(转)

    最近在看MVC框架,发现这个博文对初学者可能有帮助,故转之. 1,Html.Action    使用指定参数调用指定子操作方法并以 HTML 字符串形式返回结果. Html.Action() < ...

  6. 再议Unity 3D

    一年前,偶发冲动,翻译了<[译] Unity3D游戏和facebook绑定(1:简介)>系列文章. 现在看有2个明显的好处, 一:给这个不温不火的博客带了top 3的人气: 二:我个人由此 ...

  7. 12天学好C语言——记录我的C语言学习之路(Day 10)

    12天学好C语言--记录我的C语言学习之路 Day 10: 接着昨天的指针部分学习,有这么一个题目: //还是四个学生,四门成绩,只要有学生一门功课没及格就输出这个学生的所有成绩 /*//progra ...

  8. html-----017

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. Bootstrap使用心得

    久闻Twitter的Bootstrap框架强大且易用,近日为改版小丸工具箱的官网特地花了一周实践. 这篇文章总结我在使用Bootstarp中的一些关键点. 1.布局 Bootstrap框架的布局采用了 ...

  10. html元素类型 块级元素、内联元素(又叫行内元素)和内联块级元素。

    html中的标签元素大体被分为三种不同的类型:块级元素.内联元素(又叫行内元素)和内联块级元素. 块级元素特点: 1.每个块级元素都从新的一行开始,并且其后的元素也另起一行.(霸道,一个块级元素独占一 ...