最近各种线段树,然后一直用HH模板!然后老是写不出!与之搬运过来!线段树功能:update:单点增减 query:区间求和#include #define lson l , m , rt > 1; build(lson); build(rson); PushUP(rt);}void update(....
分类:
其他好文 时间:
2014-10-07 01:39:12
阅读次数:
296
线段树模板题。注意对于输入字符'Q','U',一定不能用char c;scanf("%c",&c);来接收,这样会接收到上次输入的回车。正确的方法是使用char s[3];scanf("%s",s);,这个bug我找了好久才发现。代码如下: 1 #include 2 #include 3 #i...
分类:
其他好文 时间:
2014-10-02 00:39:31
阅读次数:
198
线段树模板题,练的是懒惰标记。
懒惰标记,就是更新一段区间的时候,如果小区间被包含在了所需要更新的区间里面,那么直接对代表这个区间的数组元素赋值,之后做一个标记(表示这个区间的子区间都需要更新)但是不继续递归(这样可以节省很多的时候)。
11657115
2014-09-15 14:17:26
Accepted
1698
796MS
2380K
1750 B
G+...
分类:
其他好文 时间:
2014-09-15 16:04:19
阅读次数:
183
题解:求区间K小,函数式线段树模板题。#include #include #include using namespace std;const int N=3000005;struct node{int num,id;}a[N];int T,n,m,x,y,z,tot,b[N],head[N],so...
分类:
其他好文 时间:
2014-08-26 15:25:46
阅读次数:
195
线段树研究了两天了,总算有了点眉目,今天也把落下的题,补了一下。 贴一份线段树模板
线段树的特点:
1. 每一层都是区间[a, b]的一个划分,记 L = b - a
2. 一共有log2L层
3. 给定一个点p,从根到叶子p上的所有区间都包含点p,且其他区间都不包含点p。
4. 给定一个区间[l; r],可以把它分解为不超过2log2 L条不相交线段的并。
总结来说:...
分类:
其他好文 时间:
2014-08-11 21:22:22
阅读次数:
528
http://acm.fzu.edu.cn/problem.php?pid=2171
线段树模板题,成段增减,区间求和。
思路:先查询,后更新。
#include
#define lson l , m ,rt << 1
#define rson m+1 , r , rt << 1 | 1
const int maxn = 100002;
int add[maxn << 2];
in...
分类:
其他好文 时间:
2014-08-11 18:01:42
阅读次数:
214
HDU 1754 I Hate It (线段树)
模板啊,还是模板,什么时候能够脱离啊,改一点就错,还是没理解。...
分类:
其他好文 时间:
2014-08-08 09:39:55
阅读次数:
290
//线段树模板
struct line
{
int left,right;//左端点、右端点
int n;//记录这条线段出现了多少次,默认为0
};
struct line a[100];
int sum;
//建立
void build(int s,int t,int n)
{
int mid=(s+t)/2;
a[n].left=s;
a[n].right=t;...
分类:
其他好文 时间:
2014-08-07 19:06:20
阅读次数:
218
连接:http://acm.hdu.edu.cn/showproblem.php?pid=4819
题意:给出一个800×800以下的矩阵,每次更新一个点的值为以这个点为中心的长度为Li的矩阵内的最大值和最小值的平均值,并且输出这个值。
思路:线段树模板题,二维线段树就是一个树套树的情况。
题的意义就在于给我带了一个二维线段树的模板,跑了2359ms,结构体的线段树不会被卡。...
分类:
其他好文 时间:
2014-07-26 02:13:46
阅读次数:
287