数学

整除分块

$$
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);
}

数据结构

我感觉将算法放到一个板子里面容易忘记自己学了什么,所以我以后单独开个专栏来记录算法知识点

阅读更多

算法之美

选自 微信 的 算法之美.

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

牛客赛(日常比赛)

汇总牛客线上赛题目,为了统一我会将牛客寒假暑假训练题更新在这里.✌️

状态: 牛客周赛111,史上最有意思的结论场

阅读更多