首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
p4168专题
分块——以poj3468和洛谷P4168为例
当我们遇到简单的区间问题时,一般会想到树状数组或者线段树。但是当区间信息不符合区间可加可减性时,我们就要另寻他路了。这时我们可以选择用分块来解决问题。 分块要将你要处理的区间划分成长度大致相等的几块。为什么是大致相等呢?因为最后一个剩下的区间长度是难以控制的,剩下来的长度我们就让它自己成为一个区间,大概是这个样子。 对于分块来说,我们要先记录下每个区间的左右极限,以及每个点所在的区间,比如点 1
阅读更多...
【洛谷P4168】蒲公英【分块】
题目大意: 题目链接:https://www.luogu.org/problemnew/show/P4168 给出一个长度为 n n n的序列, m m m次询问,求区间 [ l , r ] [l,r] [l,r]中的众数。强制在线。 思路: 以下内容参考 l y d lyd lyd《算法竞赛进阶指南》。 先离散化不解释。 分块算法一般都是以“暴力+区间预处理+暴力”的方法做的。
阅读更多...