
倍增
文章平均质量分 91
log(n)维护区间信息
ez_lcw
这个作者很懒,什么都没留下…
展开
-
【PR #2】史莱姆(值域分段)
首先看单次询问我们怎么做。对于一个人,他的最优策略显然是不断吃最小的,并看最后能不能吃完。假设我们把区间内的数排好序了,设为 a1≤a2≤⋯≤ana_1\leq a_2\leq \cdots\leq a_na1≤a2≤⋯≤an。对于一个 uuu,它能吃完所有的人当且仅当:∀i<u,au+∑j=1i−1aj−ai≥k∀i>u,∑j=1i−1aj−ai≥k\begin{aligned}\forall i<u,a_u+\sum_{j=1}^{i-1}a_j-a_i\geq k\\原创 2022-04-11 13:20:03 · 198 阅读 · 0 评论 -
【XSY3326】米缸(时间复杂度均衡,线段树,基环树,倍增)
时间复杂度的均衡。先考虑暴力的想法:显然这是一棵基环树,那么我们每次修改时暴力 O(nm)O(nm)O(nm) 重构基环树,然后询问的时候就能 O(1)O(1)O(1) 查询。时间复杂度 O(nmq)O(nmq)O(nmq)。考虑均衡时间复杂度,我们考虑只记录第一列的每个点 iii 走 mmm 步之后会绕回第一列的哪个点,设为 FiF_iFi。那么这棵基环树的大小就是 nnn 了。然后询问的时候只需要先 O(m)O(m)O(m) 暴力走到第一列再直接 O(1)O(1)O(1) 在基环树上走然后再 O(原创 2021-09-09 14:12:10 · 112 阅读 · 0 评论 -
[NOI Online #3 提高组] 魔法值(矩阵快速幂+各种优化)
矩阵快速幂相信其他巨佬讲矩阵快速幂的原理和过程都已经很详细了,这里我就着重讲一讲用裸的矩阵快速幂算法之后,如何优化。优化1:优化矩阵乘法这个好几位大佬讲过了,我也不讲了,主要就是把 O(n3)O(n^3)O(n3) 的矩阵乘法优化到 O(n2)O(n^2)O(n2)。优化2:倍增预处理矩阵倍增预处理矩阵的核心思想就是:将 2k2^k2k 个转移矩阵相乘出来的矩阵预处理出来,并记录为 mkm_kmk,那么通过 mk=mk−12m_k=m_{k-1}^2mk=mk−12 就可以用 323232原创 2020-05-25 18:25:27 · 319 阅读 · 0 评论 -
【XSY2485】MST(最小生成树+倍增lca+并查集)
题面Description给定一个nnn个点mmm条边的连通图,保证没有自环和重边。对于每条边求出,在其他边权值不变的情况下,它能取的最大权值,使得这条边在连通图的所有最小生成树上。假如最大权值为无限大,则输出−1-1−1。Input第一行两个整数nnn,mmm,表示nnn个点mmm条边接下来mmm行,每行333个整数xxx,yyy,zzz,表示节点xxx和节点yyy之间有一条长zzz的...原创 2019-08-20 22:05:12 · 201 阅读 · 0 评论 -
【XSY2515】管道(pipe)(最小生成树+倍增lca)
题面Description给你一个城市下水道网络图,你需要选出一些管道,使得在只使用这些管道的情况下,令整个网络联通,并且花费最小。网络图可以看做是无向连通图,有nnn个节点和mmm条边,每条边连接uiu_iui和viv_ivi,选择的花费是wiw_iwi。不巧的是,由于某些原因,现在市政局要求选定某条特定的边管道,你的任务是求出对于某一条边,在选择这条管道的前提下的最小花费。In...原创 2019-08-22 15:35:24 · 313 阅读 · 0 评论 -
【XSY2414】【CF587C】Duff in the Army(倍增lca)
看到题目中a<=0a<=0a<=0,自然就想到用暴力维护这个东东。设倍增数组fa[u][i]fa[u][i]fa[u][i]和minn[u][i]minn[u][i]minn[u][i],其中minnminnminn存的是一个结构体,结构体中包含两个东东:一个数组和这个数组中的元素个数。fa[u][i]fa[u][i]fa[u][i]表示啥我就不说了,minn[u][i]mi...原创 2019-10-02 13:33:11 · 186 阅读 · 0 评论