一、使用场景 频繁修改场景下用于求前缀和 前缀积等(区间和可以通过前缀和计算而来) 查询和修改的时间复杂度都是O(logN) 二、原理 如求前缀和 (树桩数组只是存一段区域的统计值,业务自己决定,如果求前缀和就存这段区域的和;如果求出现次数就存这段区域的数出现的次数) 一个原始数组A 对应一个树桩数 ...
分类:
编程语言 时间:
2020-04-11 00:40:47
阅读次数:
80
1 引入 之前我们求梯度与Hession阵来确定极值点,但是当维度非常大的时候,往往求解不出来。所以另辟蹊径,从一元开始: 2 二分法 3 等区间搜索 注:对于三点等分区间搜索来说,第一轮计算三个点的值,以后每轮只计算两个新点的值。 4 斐波那契搜索 4.1 引入 4.2 斐波那契数列 4.3 斐波 ...
分类:
其他好文 时间:
2019-05-02 15:44:13
阅读次数:
196
"题面" 参考:《左偏树的特点及运用——黄河源》 我们将这个数列划为很多个互不相交的区间,每一段区间内的 $b$ 是相等的,即 $b[l[i]]=b[l[i]+1]=...=b[r[i]]=w[i]?$, $l[i],r[i]?$ 为区间 $i?$ 的左右端点 先假设题目时要求b不下降的(比较好讨论 ...
分类:
其他好文 时间:
2019-02-15 22:35:03
阅读次数:
241
题意:两种操作。1、将所给区间划分成两个集合,集合中的元素的贡献为a[i]+1,求是否能找出两个集合使两个集合的总贡献相等。2、区间立方(有模数) 题解: 倍增+线段树+搜索(meet in the middle) 区间立方:由于模数比较小,我们可以用倍增预处理某个数的2^j次立方,然后用线段树维护 ...
分类:
其他好文 时间:
2017-09-28 20:01:00
阅读次数:
177
Givennpointsintheplanethatareallpairwisedistinct,a"boomerang"isatupleofpoints(i,j,k)suchthatthedistancebetweeniandjequalsthedistancebetweeniandk(theorderofthetuplematters).
Findthenumberofboomerangs.Youmayassumethatnwillbeatmost500andcoordinatesofpointsarea..
分类:
编程语言 时间:
2017-01-12 16:33:35
阅读次数:
204
的一些相关知识的优化的最新研究,为了便于记忆。组织到相关的优化http://列。谁刚开始学习,不可避免地理解偏差非常多的地方,希望修正1.最优化第一讲——概念2. 一维搜索算法最优化第二讲—一维搜索算法(二分法、等区间法)最优化第二讲——一维搜索法(斐波那契法和java实现)最优化第二讲——一维搜索...
分类:
编程语言 时间:
2015-10-28 14:08:07
阅读次数:
143
给出一个小写字母组成的字符串,然后q个操作,a,b,c ,c为0 ,将区间 [a,b] 按逆字典序排,c为1,将此区间按字典序排。用一颗线段树,维护每个节点各个字母出现的种类数,每次操作操作后,暴力将字母a组成的区间,字母b组成的区间等等,区间内所有元素更新为a,b,等等。打个lazy标记,区间更新...
分类:
其他好文 时间:
2015-08-13 22:04:43
阅读次数:
118