数学(算法)

25 年 10 月 27 日 星期一 (已编辑)
105 字
1 分钟

整除分块

Dn={ni:1in, iN+}D_n = \left\{ \left\lfloor \frac{n}{i} \right\rfloor : 1 \le i \le n,\ i \in \mathbb{N}^+ \right\}

这个 DnD_n 就是所有可能的取值集合 相关性质:

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

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

cpp
 for(int l = 1; l <= n; l = r + 1){
        int cnt = (n / l);
        if(cnt < k) break;
        r = (n / cnt);
    }

文章标题:数学(算法)

文章作者:jiely

文章链接:https://whalefall.top/posts/2025-10-27-math[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。