分块学习记录

Reference

link1
hzwer 分块9题


老年退役选手学点东西 之前学过分块但是已经忘得差不多了 今天稍微补一补吧。

用一道区间最值典题来讲一下。

1e5 数列 [l,r] 最大值。

假设数组叫做 a 长度为 n 从 1 开始标号,那么就可以把这个数组分块 每一块的长度是 n 这个长度是理论最优复杂度,我印象中看别人说使用不等式证明出来的。

然后是几个分块的典中典结论

a[i](i1)/sqrt(n)+1

i(i1)×sqrt(n)+1min(i×sqrt(n),n)

具体证明不知道 不过可以手模 个人觉得是很显然的。

接下来就是分块说烂了的一句话:大段维护,小段暴力。

具体来说就是提前预处理出每一块的最大值另外存起来 然后在查询时 对于整块的部分可以直接使用预处理最大值 对于不是整块的部分就 for 遍历查询。

posted @   reverber  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示