线段树模板
来源:互联网 发布:电信会屏蔽哪些端口 编辑:程序博客网 时间:2024/06/07 22:59
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#define maxn 199999
using namespace std;
int num[maxn];
int segtree[maxn];
void plant(int node ,int l,int r)
{
if(l==r){segtree[node]=num[r];}
int mid=(l+r)/2;
plant(node*2,l,mid);
plant(node*2+1,mid+1,r);
segtree[node]=max(segtree[node*2],segtree[node*2+1]);
}
int query(int node,int st,int end,int l,int r)
{
if(end<r&&st>l)return -1;
if(end>=l&&st<=r)return segtree[node];
int mid=(st+end)/2;
int p=query(node*2,st,mid,l,r);
int q=query(node*2+1,mid+1,end,l,r);
return max(p,q);
}
void update(int node,int st,int end,int ind,int up)
{
if(st==end){segtree[node]=up;return;}
int mid=(st+end)/2;
if(mid>ind)
{
update(node*2+1,mid+1,end,ind,up);
}
else
{
update(node*2,st,mid,ind,up);
}
segtree[node]=max(segtree[node*2],segtree[node*2+1]);
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#define maxn 199999
using namespace std;
int num[maxn];
int segtree[maxn];
void plant(int node ,int l,int r)
{
if(l==r){segtree[node]=num[r];}
int mid=(l+r)/2;
plant(node*2,l,mid);
plant(node*2+1,mid+1,r);
segtree[node]=max(segtree[node*2],segtree[node*2+1]);
}
int query(int node,int st,int end,int l,int r)
{
if(end<r&&st>l)return -1;
if(end>=l&&st<=r)return segtree[node];
int mid=(st+end)/2;
int p=query(node*2,st,mid,l,r);
int q=query(node*2+1,mid+1,end,l,r);
return max(p,q);
}
void update(int node,int st,int end,int ind,int up)
{
if(st==end){segtree[node]=up;return;}
int mid=(st+end)/2;
if(mid>ind)
{
update(node*2+1,mid+1,end,ind,up);
}
else
{
update(node*2,st,mid,ind,up);
}
segtree[node]=max(segtree[node*2],segtree[node*2+1]);
}
int main
{
return 0;
{
阅读全文
0 0
- ACM 线段树模板(模板)
- 线段树模板
- hdu_1166_线段树模板
- 线段树模板
- 线段树模板 poj2777
- 线段树模板
- 线段树模板
- 线段树-模板
- 线段树模板
- 线段树模板
- 线段树模板
- Hdu1166-- 线段树模板
- 线段树模板
- 线段树模板
- 线段树模板
- 线段树模板
- 线段树模板
- 线段树模板
- 通俗易懂地讲解牛顿迭代法求开方
- 面向过程的C++和面向对象的C++编程语言
- Android 透明状态栏 像QQ那样
- android小知识点
- Oracle锁表查询及解锁kill进程简介
- 线段树模板
- PAT乙级1026. 程序运行时间(15)
- POJ1226
- Git log命令查看所有的历史版本
- python __new__和__init__的区别
- ubuntu16.04安装Anaconda
- 大数据量下高并发同步的讲解
- 关于ssm框架搭建注意事项
- BZOJ1012_Maxnumber_KEY