07 2023 档案
摘要:普通莫队 如何求在某个区间内,有多少种不同的数字,每个数字总共出现了多少次? 可以开个桶,对于每个区间暴力求解。 但是如果有很多组询问呢? 显然有更优的算法,可以将一个询问的状态转移到另一个询问的状态。 这就是莫队算法。 实现过程:两个指针 l 和 r ,随着询问的范围在数组上移动。移动时顺便记录增
阅读全文
摘要:分块——优雅的暴力。 分块永远是偏解。 ——@ny_fzx 但是,在面对一些区间问题的时候,不涉及SegTree、LCT等高级数据结构,编码简单的分块能拿到相当可观的分数。 根号分块 顾名思义,这是把长度为 $n$ 的数组分成 $\sqrt{n}$ 个区间。 核心思想:对于一个区间,将其不包含在整块
阅读全文
摘要:前置知识: $C_m^n = \frac{n!}{m!(n - m) !} = C_m^n=C_ {m-1}^n+C_ {m-1}^ {n-1}$ void getC() { for (int i = 0; i <= m; i++) c[i][i] = 1; for (int i = 0; i <=
阅读全文