1 条题解

  • 0
    @ 2026-9-9 8:54:15

    题解

    思路

    把 N,MN,M 看成一元二次方程 x2−Sx+P=0x^2-Sx+P=0 的两个根。

    做法

    存在所求正整数对,当且仅当判别式 D=S2−4PD=S^2-4P 非负且为完全平方数,设 D=r2D=r^2 后,S−rS-r 还是正偶数;此时 N=(S−r)/2N=(S-r)/2、M=(S+r)/2M=(S+r)/2 就是满足条件的正整数。由于 S2S^2 可达到 102410^{24},计算判别式及平方比较时必须使用 128 位整数。

    在 [0,S][0,S] 上二分求 ⌊D⌋\lfloor\sqrt D\rfloor,再精确检查平方、奇偶性和正数条件即可。

    复杂度

    时间复杂度为 O(log⁡S)O(\log S),空间复杂度为 O(1)O(1)。

    • 1

    信息

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