12.6日记 线段树 1. HDU1540:单点修改+单点所在最长连续区间 思路 :昨天用了set(平衡树)做的,发现简单的一批,还是学了一下线段树的做法。不过学完了之后发现,确实用线段树还是很有必要的,如果是区间修改的话,平衡树就挂了,就只能用线段树来处理了。更何况还有可能有区间所在最长连续区间之 ...
分类:
其他好文 时间:
2019-12-07 14:19:17
阅读次数:
103
https://www.cnblogs.com/Bw-Orzzzzz/p/10829082.html https://blog.csdn.net/henulmh/article/details/98756541 ...
分类:
其他好文 时间:
2019-11-26 22:25:58
阅读次数:
71
引入 线段树和树状数组,是两个十分相似的数据结构。他们能使对一个区间的数修改以及查询的速度提升许多。两个结构本质相同,各有优缺点,今天我们来从单点修改,单点查询,区间修改,区间查询。 概念 线段树 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶 ...
分类:
编程语言 时间:
2019-11-13 22:33:32
阅读次数:
96
线段树(区间修改,区间和):#include #include #include using namespace std;int c[1000000],n,m;char s;void update(int p,int l,int r,int x,int add){ int m=(l+r) / 2; ... ...
分类:
编程语言 时间:
2019-11-12 10:47:37
阅读次数:
67
"题目描述" 离散化,线段树维护区间修改,发现询问都是单点的$max$,不妨把标记留在点上,不用下传,查询时取个$max$就可以了 ...
分类:
其他好文 时间:
2019-11-11 13:06:34
阅读次数:
84
其实是数据结构。 智推连续几天给我推树状数组的模板,还放在第一位…… 对着蓝书的图看了好几天才看懂,树状数组的另外一个名字是二叉索引树,指通过把一个数组抽象的变形成树状的以求得到树形数据结构的效果。有人说是线段树的阉割版,我不太清楚,树状数组应该是不支持区间修改加速的。 首先我们需要理解lowbit ...
分类:
编程语言 时间:
2019-11-10 15:34:40
阅读次数:
64
1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e5+10; 4 int a[maxn]; 5 int sum[maxn<<2],exc[maxn<<2]; 6 void maintain(int k) 7 { 8 ...
分类:
其他好文 时间:
2019-11-09 23:28:29
阅读次数:
88
T1: 二分答案 $(sum_r sum_l)/(r l)<=mid$ $(sum_r mid r) (sum_l mid l)<=0$ 发现实数不好统计,于是可以CDQ分治或按权值排序后比较id T2: 首先预处理g[i][j]表示i种颜色涂j个位置,每种颜色都必须使用的方案数 $g[i][j]= ...
分类:
其他好文 时间:
2019-11-04 13:43:41
阅读次数:
94
传送门:COGS 实际上,拿到这道题我是懵逼的。第一感觉是线段树维护路径费用,然后就没了。 实际上,好好想一想,应该还是可以发现一些玄机的。 用线段树维护公路权值是个人都会吧,不会右转幼儿园。 但是下面期望值怎么算? 想想教练讲的,期望就是加权平均数,那么对于区间L--R的期望实际上就是 这是分子 ...
分类:
其他好文 时间:
2019-11-02 09:20:08
阅读次数:
83
题目如上: 题意:题意:n条鱼,每条鱼有自己的坐标有m个捕鱼人,每一个捕鱼人都给出x坐标(y坐标默认为0)每一个捕鱼人都有一个范围 l ,在范围内都能捕鱼,距离为 |a-x|+b 问最后每个捕鱼人对应可以捕捉到多少条鱼 思路: 其实我们稍微思考以下就可以知道:看一下样例中给的图 (1)我们会发现 l ...
分类:
其他好文 时间:
2019-11-01 18:21:50
阅读次数:
91