在信息学竞赛中,经常遇到这样一类问题:这类问题通常可以建模成数轴上的问题或是数列的问题,具体的操作一般是每次对数轴上的一个区间或是数列中的连续若干个数进行一种相同的处理。常规的做法一般依托于线性表这种数据结构,导致了处理只能针对各个元素逐个进行,因此算法的效率较低。 线段树是一种能够有效处理区间操作 ...
分类:
其他好文 时间:
2016-11-26 18:01:09
阅读次数:
214
P3373 【模板】线段树 2 47通过 186提交 题目提供者HansBug 标签 难度提高+/省选- 提交 讨论 题解 最新讨论 为啥WA(TAT) 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输 ...
分类:
其他好文 时间:
2016-10-23 20:36:50
阅读次数:
415
P3372 【模板】线段树 1 153通过 525提交 题目提供者HansBug 标签 难度普及+/提高 提交 讨论 题解 最新讨论 【模板】线段树1(AAAAAAAAA… 【模板】线段树1 洛谷评测机出问题了吗? 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x ...
分类:
其他好文 时间:
2016-10-23 20:26:19
阅读次数:
127
题目大意:给一组数据,Q 为查询求a,b区间和,C为为区间a,b间的各个元素都加上c。 题目思路:线段树模板 #include<iostream> #include<algorithm> #include<cstring> #include<vector> #include<stdio.h> #in ...
分类:
其他好文 时间:
2016-09-23 13:24:20
阅读次数:
145
SegmentTree<T> Tree:线段树Tree,基础类型为T。 Tree.dat:该节点存储的信息。 Tree.leftBorder/rightBorder:该节点线段的左右端点。 Tree.leftSon/rightSon:该线段树的左右子树指针。 Tree.Build:对T类型数组S上从 ...
分类:
其他好文 时间:
2016-09-10 19:04:06
阅读次数:
186
显然线段树模板题 1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 const int N=200000; 5 long long INF=1000000000000; 6 int len,m,n; 7 long long ...
分类:
其他好文 时间:
2016-09-02 15:49:03
阅读次数:
111
学习线段树的第三天。。。真的是没学点啥好的,又是一道水题,纯模板,我个人觉得我的线段树模板还是不错的(毕竟我第一天相当于啥都没学。。。找了一整天模板,对比了好几个,终于找到了自己喜欢的类型),中文题目嘛,直接上代码 我感觉我的代码有一个特点吧...有点啰嗦,但是每一行的思维和上一行紧密相连,新手看的 ...
分类:
其他好文 时间:
2016-08-12 14:54:31
阅读次数:
137
http://poj.org/problem?id=3264 题意:现有N个数字,问你在区间[a, b]之间最大值与最小值的差值为多少? 分析:线段树模板,不过需要有两个查询,一个查询在该区间的最大值,一个查询在该区间的最小值,最后两者结果相减即可。 #include <iostream> #inc ...
分类:
其他好文 时间:
2016-08-10 22:49:35
阅读次数:
145
被线段树虐惨,在阴影下写下了这个模板。 目前接触到的线段树适用范围:RMQ,区间更新或者单点更新,区间查询。 ...
分类:
其他好文 时间:
2016-08-08 22:45:16
阅读次数:
238
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754 线段树模板题,update功能是单点替换,query是访问区间最大值。 ...
分类:
其他好文 时间:
2016-08-01 10:25:27
阅读次数:
137