杭电5443 线段树模板

原创 2015年11月21日 00:58:40
#include <iostream>
#include <cstdio>
using namespace std;
const int maxn=200001;
#define left l,m,rt<<1
#define right m+1,r,rt<<1|1
int Max[maxn<<2];
void UP(int rt)
{
    Max[rt]=max(Max[rt<<1],Max[rt<<1|1]);
}
void build(int l,int r,int rt)
{
    if(l==r)
    {
        scanf("%d",&Max[rt]);
		return;
    }
    int m=(l+r)>>1;
    build(left);
    build(right);
    UP(rt);
}
int query(int L,int R,int l,int r,int rt)
{
    if(L<=l&&R>=r)return Max[rt];
    int m=(r+l)>>1;
    int ret=0;
    if(L<=m)ret=max(ret,query(L,R,left));
    if(R>m)ret=max(ret,query(L,R,right));
    return ret;
}
int x[maxn];
int main()
{
    int N,M,i,j,sum,T,q,le,ri;
    char character;
    int a,b;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&N);
		sum=0;
        build(1,N,1);
        scanf("%d",&q);
        while(q--)
        {
        	scanf("%d%d",&le,&ri);
        int sum=query(le,ri,1,N,1);
        cout<<sum<<endl;
		}
    }
return 0;
}

杭电 线段树 (个人整理(基础入门版))(多题练习.)(简单风格)

整理了很多杭电上边的题.也从其他很多博客那里学会了新的东西,一时兴起 整理出来留给大家. 首先介绍一下自己的线段树风格: int tree[](树) #define lson l,m,r...
  • mengxiang000000
  • mengxiang000000
  • 2015年12月04日 13:33
  • 1210

【2016杭电女生赛1008】【数据结构 动态节点线段树】Claris Loves Painting

#include #include #include #include #include #include #include #include #include #include #include #...
  • snowy_smile
  • snowy_smile
  • 2016年05月22日 23:42
  • 1081

ACM模板——各种各样的线段树

线段树,区间更新线段树,属性线段树,可合并线段树,LCIS&线段树
  • Kiritow
  • Kiritow
  • 2016年08月15日 13:14
  • 693

线段树模板(来自胡浩大牛)

http://www.notonlysuccess.com/(今天看二叉树,想回来看看,发现大牛博客进不去。。。) 如果要学,就要好好学。我copy的,如有错,请看http://www.cnblog...
  • Chrome_matrix_68
  • Chrome_matrix_68
  • 2016年08月08日 17:54
  • 750

C++ 线段树—模板&总结

在信息学竞赛中,经常遇到这样一类问题:这类问题通常可以建模成数轴上的问题或是数列的问题,具体的操作一般是每次对数轴上的一个区间或是数列中的连续若干个数进行一种相同的处理。常规的做法一般依托于线性表这种...
  • txl16211
  • txl16211
  • 2015年04月29日 23:15
  • 2811

简单线段树模板

例如:   给你任意几个数,给定N个区间,让你求这个区间的和;简单线段树的运用,帮助我更好的理解线段树,             //线段树基本 #include #define MAXN 10...
  • HowardEmily
  • HowardEmily
  • 2016年09月19日 23:59
  • 537

【模板】线段树_区间最值、区间求和、修改

大概也算是线段树练习4、5的雏形 总之蒟蒻还没调出set和倍数QAQQQQQQQ 先看看最值吧 代码如下√#include #include #include #include #def...
  • Loi_Shirley
  • Loi_Shirley
  • 2016年07月21日 22:42
  • 590

线段树模板--C++

无合并/* adrui's Segment Tree *///无区间合并的区间更新 & 查询 const int N = 100000 + 5;int ans[N 1)...
  • ADjky
  • ADjky
  • 2016年12月21日 19:25
  • 538

POJ 3468 线段树区间更新求和模板

A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Subm...
  • discreeter
  • discreeter
  • 2015年08月04日 20:19
  • 841

刘汝佳 线段树模板

一、线段树(点修改) update
  • zhulei19931019
  • zhulei19931019
  • 2014年08月20日 15:02
  • 6125
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:杭电5443 线段树模板
举报原因:
原因补充:

(最多只允许输入30个字)