1 条题解

  • 0
    @ 2026-9-9 9:16:57

    题解

    思路

    先只统计满足 x≤y≤zx\le y\le z 的三元组,再按相等关系乘排列数。

    做法

    由 yz≤Nyz\le N 且 y≤zy\le z 可知 y≤⌊N⌋y\le\lfloor\sqrt N\rfloor。固定 yy,令 q=⌊N/y⌋q=\lfloor N/y\rfloor,则 1≤x≤y1\le x\le y 且 y≤z≤qy\le z\le q,其余两个乘积条件自动成立。

    当 x<y<zx<y<z 时有 6(y−1)(q−y)6(y-1)(q-y) 个排列;当 x=y<zx=y<z 时有 3(q−y)3(q-y) 个;当 x<y=zx<y=z 时有 3(y−1)3(y-1) 个;当三者相等时有 11 个。对所有 1≤y≤⌊N⌋1\le y\le\lfloor\sqrt N\rfloor 求和并取模即可。

    复杂度

    每组数据的时间复杂度为 O(N)O(\sqrt N),额外空间复杂度为 O(1)O(1)。

    • 1

    信息

    ID
    1635
    时间
    2000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者