1 #include 2 #include 3 4 using namespace std; 5 6 struct Node 7 { 8 int l,r; 9 int v; 10 int lz; 11 }bn[400000]; 12 13 voi...
分类:
其他好文 时间:
2015-07-31 12:13:52
阅读次数:
124
1 #include 2 #include 3 4 using namespace std; 5 6 struct Node 7 { 8 int l; 9 int r;10 int sum;11 int lz;12 }bn[400000];13 14 voi...
分类:
其他好文 时间:
2015-07-31 10:28:57
阅读次数:
110
【线段树】hdu 1556 Color the ball题目链接:hdu 1556 Color the ball题目大意给你N个气球,不断刷新指定区间的颜色,刷新N次,最后输出每一个气球的刷新次数。上一篇文章是线段树的点修改、区间查询;
这篇文章是线段树的区间修改、点查询;
说一下思路
线段树的区间修改:利用线段树的区间查询,查询到叶节点segTree[root].sum++,而如果对区间进行多...
分类:
其他好文 时间:
2015-07-30 19:28:20
阅读次数:
107
描述河蟹王国有一位河蟹国王,他的名字叫羊驼。河蟹王国富饶安定,人们和谐相处。有一天,羊驼国王心血来潮,想在一部分人中挑出最和谐的人。于是,羊驼国王将他的子民排成了一列(==!!b汗~好长呀)。每个人都有一个初始的和谐值。羊驼国王每次会选择一个区间[L,R],这个区间中和谐值最大的人就是国王选出的人。...
分类:
其他好文 时间:
2015-07-30 10:55:47
阅读次数:
127
题意:给一个初始序列A[1,n],第j个数字代表精灵j的power值,有两种操作:(1)查询区间[L,R] (2)修改某个精灵的power值。 但,查询的是区间[L,R]中一个美丽子序列sub[l,r]的和,美丽子序列是从A[L,R]中挑出的一些数字,这些数字按升序排好序,每两个相邻数字(su...
分类:
其他好文 时间:
2015-07-29 14:00:06
阅读次数:
150
线段树
线段树
1.线段树最裸模板2.线段树区间修改---Lazy大法3.离散化 + 线段树4.相关内容5.由2延伸修改
1.线段树最裸模板
Problem I
#include#include#includeusing namespace std;const int MAX=50010;#define Lson...
分类:
其他好文 时间:
2015-07-19 18:11:49
阅读次数:
173
树状数组只能实现线段树区间修改和区间查询的功能,可以代替不需要lazy tag的线段树,且代码量和常数较小
首先定义一个数组 int c[N]; 并清空 memset(c, 0, sizeof c);
1、单点修改 : c[x] += y; 对应的函数是 change(x, y);
2、求前缀和 : 对应的函数是 int sum(x)
两种操作的复杂度都是O(lo...
分类:
编程语言 时间:
2015-07-16 16:44:53
阅读次数:
170
以下是对于如何利用树状数组进行区间修改和区间查询的简介
可以代替不需要lazy tag的线段树,且代码量和常数较小
首先你需要学会树状数组,如果不会的话以下先讲解黑匣子使用树状数组的姿势
首先定义一个数组 int c[N]; 并清空 memset(c, 0, sizeof c);
1、单点修改 : c[x] += y; 对应的函数是 change(x, y);
2、求前缀和 : 对应的...
分类:
编程语言 时间:
2015-07-14 15:43:33
阅读次数:
123
这题同样是要将边权下放到点这题要注意的是negate询问,是将权值取反,因为是区间修改,要用到laze标记但是要注意的是,如果有标记下放的时候,如果下边已经有标记了, 那么就是取反,再取反, 所以只要将标记去除就行了就因为这个wa了好几发同时,线段树也要维护一个最小值,因为取反之后,最小值就变成最大...
分类:
其他好文 时间:
2015-07-06 01:24:31
阅读次数:
99
区间修改的kd-tree,打标记,下传。每次询问的时候,从询问点向上找到根,然后依次下传下来,再回答询问。#include#include#includeusing namespace std;#define N 100001#define KD 2int n,root,m,q,qp[2][KD],...
分类:
其他好文 时间:
2015-06-24 09:19:25
阅读次数:
115