数学

整除分块

$$
D_n = \left{ \left\lfloor \frac{n}{i} \right\rfloor : 1 \le i \le n,\ i \in \mathbb{N}^+ \right}
$$
这个 $D_n$ 就是所有可能的取值集合相关性质:

  1. |$D_n$| $\leq$ 2$\sqrt{n}$
  2. 每一个块的左右端点,$l=\lfloor \frac{n}{d+1} \rfloor +1 \leq i \leq \lfloor \frac{n}{d} \rfloor$

相关实现:
枚举每一个整除分块($D_i$)$的区间

1
2
3
4
5
for(int l = 1; l <= n; l = r + 1){
int cnt = (n / l);
if(cnt < k) break;
r = (n / cnt);
}

算法之美

选自 微信 的 算法之美.

  • 不定期更新(主要这个微信推文的算法知识都是偏数学的硬知识)
阅读更多
算法知识册

算法知识册

本文章是 基于 左神课程 + 牛客课程 进行算法系统式学习的知识汇总。

阅读更多