2025年10月27日 1 min zh-CN 算法 / 热爱 数学(算法) 算法竞赛数学内容 整除分块 Dn={⌊ni⌋:1≤i≤n, i∈N+}D_n = \left\{ \left\lfloor \frac{n}{i} \right\rfloor : 1 \le i \le n,\ i \in \mathbb{N}^+ \right\}Dn={⌊in⌋:1≤i≤n, i∈N+} 这个 DnD_nDn 就是所有可能的取值集合 相关性质: |DnD_nDn| ≤\leq≤ 2n\sqrt{n}n 每一个块的左右端点,l=⌊nd+1⌋+1≤i≤⌊nd⌋l=\lfloor \frac{n}{d+1} \rfloor +1 \leq i \leq \lfloor \frac{n}{d} \rfloorl=⌊d+1n⌋+1≤i≤⌊dn⌋ 相关实现: 枚举每一个整除分块(DiD_iDi)$的区间 for(int l = 1; l <= n; l = r + 1){ int cnt = (n / l); if(cnt < k) break; r = (n / cnt); }