一、线段树(点修改)Update(x,v): 把Ax修改为vQuery(L,R): 计算区间[qL,qR] 最小值。代码:[cpp]view plaincopy//DynamicRMQ//RujiaLiu//输入格式://nm数组范围是a[1]~a[n],初始化为0。操作有m个//1pv表示设a[p...
分类:
其他好文 时间:
2015-05-09 13:11:07
阅读次数:
165
http://www.bnuoj.com/v3/problem_show.php?pid=19715二维线段树模板#include
#include
#include
#include
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define rep(...
分类:
其他好文 时间:
2015-05-06 17:55:27
阅读次数:
144
在网上找了好久的模板,感觉刘大神的模板比较好用 http://blog.csdn.net/zhulei19931019/article/details/38706259点修改Update(x,v): 把Ax修改为vQuery(L,R): 计算区间[qL,qR] 最小值。(也可以求最大值) 1 // ...
分类:
其他好文 时间:
2015-03-28 21:39:47
阅读次数:
155
线段树主要用于区间记录信息(如区间和、最大最小值等),首先是建树:这里以求和为例: 1 const int MAXM=50000; //定义 MAXM 为线段最大长度 2 3 int a[MAXM+5],segtree[(MAXM>1); // m 为中间点,左儿子结点...
分类:
其他好文 时间:
2015-03-13 22:05:18
阅读次数:
306
struct NODE
{
int value;
int left,right;
} node[maxn];
int father[MAX];
void BuildTree(int i,int left,int right)
{
node[i].left = left;
node[i].right = right;
node[i].value = 0;
...
分类:
其他好文 时间:
2015-02-17 18:47:58
阅读次数:
143
线段树对一列数,对每次询问输出对应区间的和,每次修改只修改一个数的值。。。定义:struct tree{ int l,r;//记录代表的区间 int sum;//代表区间的和}由于线段树还是相对比较平衡的,所以可以使用数组t来存储这棵树,对与某个节点i,t[i*2]就是左子树,t[i*2...
分类:
其他好文 时间:
2015-02-16 13:03:52
阅读次数:
131
#include
#include
#include
#define ll __int64
#define M 100007
using namespace std;
struct node
{
ll l,r,mid,val,mark;
}tree[M<<2];
ll s[M];
void build(ll left,ll right,ll i)//建树
{
tree[i].l=l...
分类:
其他好文 时间:
2015-02-05 18:19:49
阅读次数:
212
实现功能——1:区间加法;2:区间求和最基础最经典的线段树模板。由于这里面操作无顺序之分,所以不需要向下pushup,直接累积即可 1 var 2 i,j,k,l,m,n,a1,a2,a3,a4:longint; 3 a,b:array[0..100000] of longint; 4 ...
分类:
编程语言 时间:
2015-01-20 23:43:18
阅读次数:
350
基本上敲的模板功能:区间更新,区间查询自己随意开发。。 1 #include "iostream" 2 using namespace std; 3 #define lson l,m,rt>1)) * p[rt];23 sum[rt> 1) * p[rt];24 p[...
分类:
其他好文 时间:
2014-12-30 01:40:57
阅读次数:
179
http://www.notonlysuccess.com/(今天看二叉树,想回来看看,发现大牛博客进不去。。。)如果要学,就要好好学。我copy的,如有错,请看http://www.cnblogs.com/Mu-Tou/archive/2011/08/11/2134427.html【完全版】线段树...
分类:
其他好文 时间:
2014-12-15 21:37:10
阅读次数:
305