![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
倍增
pigzhouyb
一个来自浙江的可爱的萌萌哒的肥肥胖胖的OIer
展开
-
Genius ACM(倍增+归并优化)
Problem【问题描述】Advanced CPU Manufacturer (ACM) is one of the best CPU manufacturers in the world. 每天, 该公司生产n台CPU并销售到世界各地。ACM公司的质检部门会对生产出的CPU进行成组测试,对一组(若干个)CPU进行测试的方法如下:随机从该组CPU中选取m 对(即2m 台),若总数不足2...原创 2019-03-14 18:13:05 · 1736 阅读 · 0 评论 -
【算法·倍增】忠诚(区间最值问题 ST表)
Problem题目描述老管家是一个聪明能干的人。他为财主工作了整整10年,财主为了让自已账目更加清楚。要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意。但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚,他把每次的账目按1,2,3…编号,然后不定时的问管家问题,问题是这样的:在a到b号账中最少的一笔是多少?为了让管家没时间作假他总...原创 2019-03-21 19:34:31 · 271 阅读 · 0 评论 -
『单调栈·动态规划·ST表·莫队』「HNOI2016」序列
题目描述给定长度为n的序列:a1,a2,…,an,记为a[1:n]。类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,…,ar-1,ar。若1≤l≤s≤t≤r≤n,则称a[s:t]是a[l:r]的子序列。现在有q个询问,每个询问给定两个数l和r,1≤l≤r≤n,求a[l:r]的不同子序列的最小值之和。例如,给定序列5,2,4,1,3,询问给定的两个数为1和3,那么a[1:3]...原创 2019-05-26 21:43:56 · 267 阅读 · 2 评论 -
『倍增』Minimal Segment Cover
题解对于区间覆盖类的问题,我们可以想到用培增来解决。首先,我们需要预处理第一步的操作,即一个店所能够跳到的最远的点。然后就是倍增,有f[i][j]=f[f[i][j−1]][j−1].f[i][j]=f[f[i][j-1]][j-1].f[i][j]=f[f[i][j−1]][j−1].然后再是询问,也是一样,不断的条,知道跳到r为止;我们可以一直限制小于rrr,最后加上一个111即可。...原创 2019-07-11 18:42:48 · 143 阅读 · 0 评论 -
『分治·ST算法』区间最大值和
题解首先对于区间 [L,R][L,R][L,R] 来说,若 ax=max(a[i]),i∈[l,r]a_x=max(a[i]),i∈[l,r]ax=max(a[i]),i∈[l,r].则 xxx 的贡献就是跨过点xxx的区间个数×ax\times a_x×ax.即ax×(x−L+1)×(R−x+1)a_x\times(x-L+1)\times(R-x+1)ax×(x−L+1)×(R−x...原创 2019-07-29 18:05:01 · 546 阅读 · 0 评论 -
『贪心·树上倍增』CF980E The Number Games
题目描述题解观察题目性质,每一个节点的权值都是2的整次幂,性质为:2k>∑i=1k−12i2^k>\sum_{i=1}^{k-1}2^i2k>i=1∑k−12i这意味着我们需要优先选择大的。从大到小枚举每一个节点,如果没有被选取就将它到根路径的每一个点都赋值为111.观察一下这样的性质,发现:某一个点被覆盖,其到根路径上的所有点也会被覆盖。因此,我...原创 2019-08-11 20:37:13 · 147 阅读 · 0 评论 -
『倍增』CF1142B:Lynyrd Skynyrd
题目描述题解我们来简化一下问题,思考一下如何判断能否以某一个数结尾形成循环位移。我们规定preipre_iprei表示aia_iai在ppp中的循环位移中的前一个数。一个数结尾能够形成循环位移,就是能够往前跳n−1n-1n−1次preprepre,那么就说明这是一个合法的循环位移。怎么跳呢?我们可以十分显然的想到倍增。倍增什么的就很简单了,我们就可以十分简单的求出每一个数字往前跳n−...原创 2019-08-17 22:13:15 · 179 阅读 · 0 评论