倍增
niiick
OIer/ACMer
展开
-
LCA—倍增法求解
LCA(Least Common Ancestors) 即最近公共祖先,是指在有根树中,找出某两个结点u和v最近的公共祖先。 常见解法一般有三种 这里讲解一种在线算法—倍增 首先我们定义fa[u][j]表示结点u的第2^j祖先 那么要怎么求出全部的fa数组呢 不难发现fa[u][0]就是u的父亲结点 这些父亲结点我们可以直接初始化 对于其他结点则有 fa[u][j...原创 2018-02-17 21:44:26 · 438 阅读 · 0 评论 -
次小生成树—学习笔记
次小生成树原创 2018-03-19 18:28:15 · 1237 阅读 · 1 评论 -
ST表 x RMQ问题
RMQ问题,即区间最值问题 tarjan发明的基于倍增的st表算法 可以在O(nlogn)O(nlogn)O(nlogn)的时间内求解 用dp[i][j]dp[i][j]dp[i][j]表示序列区[i,i+2j][i,i+2j][i,i+2^j]内的最值 初始化dp[i][0]=a[i]dp[i][0]=a[i]dp[i][0]=a[i] 那么dp数组就有递推式 dp[i][j]=ma...原创 2018-06-22 19:00:08 · 221 阅读 · 0 评论 -
BZOJ3551 [ONTAK2010]Peaks加强版【Kruskal重构树+主席树+树上倍增】
Time Limit: 20 Sec Memory Limit: 128 MB Description 在有N座山峰,每座山峰有他的高度h_i,有些山峰之间有双向道路相连,共M条路经,每条路径有一个困难值,这个值越大表示越难走,现有Q组询问,每组询问从点v开始只经过困难值小于等于x的路径所能到达的山峰中第k高的山峰,如果无解输出-1 Input 第一行三个数N,M,Q。 第二行N个...原创 2018-07-25 11:08:41 · 764 阅读 · 0 评论 -
洛谷 P1613 跑路【倍增+Floyd】
题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均...原创 2018-08-01 12:43:59 · 216 阅读 · 0 评论 -
BZOJ4568 || 洛谷P3292 [SCOI2016]幸运数字【线性基+倍增/树剖】
Time Limit: 60 Sec Memory Limit: 256 MB Description A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一。每座城市都有一个 幸运数字,以纪念碑的形式矗立在这座城市的正中心,作为城市的象征。一些旅行者希望游览 A 国。旅行者计划 乘飞机降落在 x 号城市,沿着 x 号城市到 y 号城市之间那条唯...原创 2018-08-11 10:35:44 · 326 阅读 · 0 评论