- 2024-11-15[ABC339G] Smaller Sum(分块 卡常 qwq)
link和数列分块入门2差不多的思路,对每个块排序,然后就可以在上面二分,求和,发现都是在二分出来的位置前面的数,可以用前缀和预处理出来分块按照一般分法n,q同阶,时间复杂度是\(O(n\sqrt{n}\log\sqrt{n})\)然后交上去发现最后几个点T了,算一下,大概是2e5*450*8=7e8,时
- 2024-04-29莫队小计
莫队考虑一个经典的问题。对一个数列进行\(m\)次区间求和。暴力需要\(O(nm)\),但是莫队可以优化到\(O(n\sqrtm)\)。思想具有启发式思维。假如我们知道\([l,r]\)的和为\(k\)。在此基础上\([l-1,r],[l,r+1]\)都可以很快得到。莫队是对上一个问题解决这个问题。要给对问题
- 2024-02-06Solution - Holes
Link。暴力做是\(O(nm)\)的。怎么优化呢?I'venoslightestidea
- 2024-01-16CF1921F Sum of Progression
题目链接:CF一道经典的类型题,把这种类型的题拿出来单独说一下。注意到问题中涉及到需要维护\(a_{x+k\timesstep}\)这样的信息,这样的信息很难用树型结构维护,比较容易用块级结构维护,我们注意到其实是每次这种步长\(+step\)的信息很难维护,我们考虑一类特殊的分块:如果\(step\)
- 2023-10-302021 CCPC 哈尔滨
gym开场zsy签了J,gjk签了B,我读错了E的题(\(=\bmod\)而不是\(\equiv\pmod2\)),gjk读对后过了zsy读了K给我,我记得是模拟赛原题,跟欧拉定理有关,但很难。他俩过了DI,我大概会了G但不会DP期望,跟zsy无效交流了一会凭感觉写1A了。C好像也是模拟赛原题就丢给他俩了L
- 2023-10-11[ARC128E] K Different Values
[ARC128E]KDifferentValues考察\(k=2\)的情形,这个很经典,就是绝对众数。这样的话我们发现显然的一个必要条件是\(\maxA_i\le\lceil\frac{n}{k}\rceil\)。进一步,我们按照\(k\)为块长分块,还需满足\(A_i=\lceil\frac{n}{k}\rceil\)的个数不超过最后一段的块长。
- 2023-10-02[Резюме] 基础数列分块
Preface分块可以\(O(n\sqrt{n})\)解决不能用线段树解决的问题,即不能快速合并区间信息的问题,是很多高级算法与数据结构的基础。本篇只是作者基础入门的一些感受,例题为\(\text{LOJ}[6277,6285]\),下一步计划学习莫队算法,这里有学习总结。Content0如何分块?考虑将标准块大小定
- 2023-09-14#10 有人写莫队不设块长,除0调了半天
JeffandRemovingPeriods题面因为删除后可以任意排序,所以除第一次删除,每次都可以删去一种颜色,统计区间中有多少种颜色,可以使用莫队维护。对于第一次操作,如果其不能删去一种颜色,则操作次数加一,反之不变。因此我们问题变为了判断区间中是否存在颜色,使得这些颜色对应的位置形成等
- 2023-08-17「Log」2023.8.17 小记
序幕早上到校先摆,然后开调代码。大分块对拍调调调。学长开始讲平衡树。平衡树平衡树平衡树!学完了,点午饭吃午饭。学主席树。主席树主席树主席树!学完了点晚饭吃完饭。用chatGPT写了点文章,乐坏了。继续卡常。\(\color{black}{P4119\[Ynoi2018]\未来日记}\)详见「「No
- 2023-03-25如何优雅的暴力——分块
前言近期也是把hzwer的数列分块入门肝完了,感觉分块很玄学(什么是分块分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算
- 2023-01-11分块
树状数组、线段树、ST表……这些数据结构我们用的也不算少了,但实际上这些数据结构还不够灵活,面对一些区间问题时反而会出问题。举个栗子:现在有\(n\)个单调队列需要维
- 2023-01-01「学习笔记」分块
树状数组、线段树、ST表……这些数据结构我们用的也不算少了,但实际上这些数据结构还不够灵活,面对一些区间问题时反而会出问题。举个栗子:现在有\(n\)个单调队列需要维
- 2022-09-02预处理的艺术
预处理的艺术以下默认合并答案是\(O(1)\)的\(O(n\alpha(n))-O(1)\)的ST表这个非常\(naive\),对于规模为\(O(n)\)的问题,我们以\(O(\logn)\)为块长分块,块间建立ST