
RMQ
nymph181
这个作者很懒,什么都没留下…
展开
-
jzoj_1370 飞船
题目题意: 给出n个数和m次询问次数,每次给出l和r,求出从[l..r]这个区间中最大的数。思路: 数据太大,不能直接暴力,今天学了RMQ算法,这是个例题,我们可以设f[i][j]为a[i]到a[i+2^j-1]这个范围内的最大值,得出动态转移方程f[i][j]=max(f[i][j-1],f[i+2^j-1][j-1]),初值是f[i][0]=a[i],[l..r]中原创 2018-02-04 20:26:44 · 328 阅读 · 0 评论 -
jzoj_1371 假期
题目题意: 奶牛们可以放假了,假期可以在1~n天中选一段连续的,既不能大于q也不能小于p,每天都有一个享受值w,求它们在假期里最多能获得多少享受值。思路: 用f[i][0]记录前缀和,之后的步骤和1370差不多,最后从[i+p-1...min(n,i+q-1)]中求出最大值并减去f[i-1][0],因为这里用的是前缀和。代码:#include#include原创 2018-02-04 20:54:50 · 255 阅读 · 0 评论 -
洛谷_3865 ST表
题意给出一个序列,求某一个区间的最大值。(RMQ)思路ST算法,设f[i][j]f[i][j]f[i][j]表示从序列的第i个位置开始ajaja^j个数的最大值,我们可以得到公式f[i][j]=max(f[i][j−1],f[i+2j−1][j−1])f[i][j]=max(f[i][j−1],f[i+2j−1][j−1])f[i][j]=max(f[i][j-1],f[i+2^{j-...原创 2018-05-26 23:09:46 · 277 阅读 · 0 评论