随笔分类 - 基础算法-倍增
摘要:[Luogu 5465] [LOJ 6435] [PKUSC2018]星际穿越(倍增) 题面 n个点的图,点i和[l[i],i)的所有点连双向边。每次询问(l,r,x)表示x到[l,r]的所有点的最短路径长度和/(r l+1)。 $n \leq 10^5,l_i1)$步可以到达的编号最小的点为$a$
阅读全文
摘要:[BZOJ4569] [Luogu 3295] [SCOI2016]萌萌哒(并查集+倍增) 题面 有一个n位的十进制数a(无前导0),给出m条限制,每条限制$(l_1,r_1,l_2,r_2)(保证r_1 l_1=r_2 l_2)$表示这个数的第$[l_1,r_1]$位与$[l_2,r_2]$位相同
阅读全文
摘要:[BZOJ4444] [Luogu 4155] [LOJ 2007] [SCOI2015]国旗计划(倍增) 题面 题面较长,略 分析 首先套路的断环为链。对于从l到r的环上区间,若ll_i$,所以$r_j r_i$,否则区间j就会被i包含。由于排序过,j显然有单调性,双指针扫一遍就可以了。 代码 c
阅读全文
摘要:超级钢琴: "[BZOJ 2006] [NOI 2010]超级钢琴(贪心+ST表+堆)" 药不能停: "[HDU 3712] Fiolki (带边权并查集+启发式合并)" 监控: 类似"国旗计划”,不同的是要去掉被完全包含的区间 国旗计划: "[BZOJ4444] [Luogu 4155] [LOJ
阅读全文
摘要:[BZOJ3133] [Baltic2013]ballmachine(树上倍增+堆) 题面 有一个装球机器,构造可以看作是一棵树。有下面两种操作: 从根放入一个球,只要下方有空位,球会沿着树滚下。如果同时有多个点可以走,那么会选择编号最小的节点所在路径的方向。比如依次在树根 放2个球,第一个球会落到
阅读全文
摘要:[BZOJ 2006] [NOI 2010]超级钢琴(贪心+ST表+堆) 题面 给出一个长度为n的序列,选k段长度在L到R之间的区间,一个区间的值等于区间内所有元素之的和,使得k个区间的值之和最大。区间可以相交或包含,但一个区间只能被选1次. $n,k,L,R \leq 5 \times 10^5$
阅读全文