![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
倍增(RMQ/st算法,树上倍增)
Nowed
把泪水种在心上,一定会开出勇敢的花。
展开
-
#RMQ# [校测 小鱼吃大鱼]
Title求max{Aimod Aj}(Ai≥Aj)max\begin{Bmatrix}A_i\mod\ A_j\end{Bmatrix}(A_i\geq A_j)max{Aimod Aj}(Ai≥Aj)Solution我们可以暴力枚举值域的倍数,查找在这个[j,j+i−1][j,j+i-1][j,j+i−1]区间内的最大数值(可以用RMQRMQRMQ预处理)减去初始值jjj,就是这个数值在%j\%j%j时的值。Code#include<cstd原创 2020-10-30 20:32:20 · 116 阅读 · 0 评论 -
#倍增+矩阵乘法# [luogu P3597] [POI2015]WYC
TitleP3597 [POI2015]WYCSolution注意这道题code中的一些细节这道题做的我人都傻了,关键是有两种理解,但是关系不大。 。。f[k][i][k]f[k][i][k]f[k][i][k]表示的是iii到jjj之间路径长度为2k2^k2k的路径条数。特别的,f[k][i][0]f[k][i][0]f[k][i][0]表示的是终点为iii路径长度为2k2^k2k的路径长度条数。然后可以倍增组合。上面的等于可能是小于等于,关于这个还有下面的减一,我都不是很明白。可以原创 2020-10-15 21:06:23 · 145 阅读 · 0 评论 -
#二分+RMQ# [luogu P4085] [USACO17DEC]Haybale Feast G
TitleP4085 [USACO17DEC]Haybale Feast GSolution注意rmq中的log要预处理好,还有注意是否要long long注意本题二分的是r,所以判断条件的时候不要习惯性的打成r-lCode#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define ll long long #define rep(i,x,y原创 2020-10-15 10:57:21 · 128 阅读 · 0 评论 -
#倍增优化Floyd# [luogu CF148E] Porcelain
TitleCF147B Smile HouseSolution设d[s][i][j]d[s][i][j]d[s][i][j]为ddd步从iii到jjj的距离,d[s][i][j]=max(d[s][i][j],d[s−1][i][k]+d[1][k][j])d[s][i][j]=max(d[s][i][j],d[s-1][i][k]+d[1][k][j])d[s][i][j]=max(d[s][i][j],d[s−1][i][k]+d[1][k][j]),若d[k][i][i]>0d[k][i原创 2020-08-19 20:19:13 · 134 阅读 · 0 评论 -
#树上差分#[luogu 3128] [USACO15DEC]最大流Max Flow
题目https://www.luogu.com.cn/problem/P3128解题思路树上差分。代码#pragma GCC optimize("O2")#pragma GCC optimize("O3")#pragma GCC optimize("Ofast")#include<cstdio>#include<algorithm>#include&...原创 2019-11-30 18:56:06 · 204 阅读 · 0 评论 -
[jzoj 6294] 动态数点 {RMQ+二分}
题目解题思路跟数字对这道题一模一样, 可是比赛的时候竟然mle了。不过需要注意一下,题目数据范围有一点坑,全部改成int就可以AC了。二分时要从111到nnn。代码#pragma GCC optimize("O2")#pragma GCC optimize("O3")#include<cstdio>#include<algorithm>#inclu...原创 2019-08-15 16:56:36 · 213 阅读 · 0 评论 -
[poj 3264] Balanced Lineup {RMQ}
题目http://poj.org/problem?id=3264解题思路水题一道复习rmq,代码#include<cstdio> #include<algorithm>#include<cmath>using namespace std; int n,m,f[200001][40],g[200001][40]; int main(){...原创 2019-08-08 15:17:24 · 118 阅读 · 0 评论 -
[jzoj 4811] 【NOIP2016提高A组五校联考1】排队 {后序遍历+倍增}
题目解题思路“1”问求的是后序遍历。“2”问就是删去这个点到根节点的有颜色的链的最顶端删掉,然后用小根堆来维护。代码#include<cstdio>#include<algorithm>#include<queue>using namespace std; const int N=1e5+10;struct graph{ int ...原创 2019-07-05 07:37:29 · 183 阅读 · 0 评论 -
[jzoj 3895] 数字对 {RMQ+二分}
题目Description小H是个善于思考的学生,现在她又在思考一个有关序列的问题。她的面前浮现出一个长度为n的序列{ai},她想找出一段区间[L, R](1 <= L <= R <= n)。这个特殊区间满足,存在一个k(L <= k <= R),并且对于任意的i(L <= i <= R),ai都能被ak整除。这样的一个特殊区间 [L, R]价值为...原创 2019-01-25 20:32:37 · 392 阅读 · 0 评论 -
[HDU2586] How far away ?{LCA.tarjan算法/倍增算法}
文章目录题目解题思路代码`倍增(TLE)`代码`tarjan算法(AC)`$tanjan$算法本质上是使用并查集对“向上标记法”的优化题目http://acm.hdu.edu.cn/showproblem.php?pid=2586解题思路倍增算法O((n+m)log&nbsp;n)O((n+m)log\ n)O((n+m)log&nbsp;n)LCA.tarjan算法O(n+m)O(n...原创 2018-12-01 16:57:15 · 438 阅读 · 3 评论 -
[luogu P3865] 【模板】ST表
题目https://www.luogu.org/problemnew/show/P3865#sub解题思路ststst表可以有很多用途,例如RMQ问题。其他更多模板请见(https://blog.csdn.net/qq_39897867/article/details/83623201)代码#include<cstdio>#include<cmath>#...原创 2018-11-22 17:31:44 · 187 阅读 · 0 评论 -
【RMQ】假期
题目题目描述 经过几个月辛勤的工作,FJ决定让奶牛放假。假期可以在1…N天内任意选择一段(需要连续),每一天都有一个享受指数W。但是奶牛的要求非常苛刻,假期不能短于P天,否则奶牛不能得到足够的休息;假期也不能超过Q天,否则奶牛会玩的腻烦。FJ想知道奶牛们能获得的最大享受指数。输入 第一行:N,P,Q. 第二行:N个数字,中间用一个空格隔开。 输出 一个整数,奶牛们能获得的...原创 2018-02-08 12:13:24 · 309 阅读 · 0 评论 -
【RMQ】飞船
题目题目描述 2008年9月25日21点10分,酒泉卫星发射中心指控大厅里,随着指挥员一声令下,长征二号F型火箭在夜空下点火起飞,神舟七号飞船载着翟志刚、刘伯明、景海鹏3位航天员,在戈壁茫茫的深邃夜空中飞向太空,开始人类漫步太空之旅。第583秒,火箭以7.5公里/秒的速度,将飞船送到近地点200公里、远地点350公里的椭圆轨道入口。而此时,火箭的燃料也消耗殆尽,即将以悲壮的方式与飞船告别。这...原创 2018-02-08 11:31:49 · 358 阅读 · 0 评论 -
【NOIP2014模拟8.17】Magical GCD//2018.2.5
题目Description 对于一个由正整数组成的序列, Magical GCD 是指一个区间的长度乘以该区间内所有数字的最大公约数。给你一个序列,求出这个序列最大的 Magical GCD。 Input单个测试点包含多组数据。 输入的第一行是一个整数T表示数据组数。 每组数据的第一行是一个整数N,描述序列长度。 接下来N个数字,描述这个序列元素A[i]。Output对原创 2018-02-07 20:25:04 · 278 阅读 · 0 评论