1 条题解

  • 1
    @ 2021-8-1 17:28:50

    先恢复 mm,再计算答案。
    首先插入一个 e=0,r=1e=0,r=1 并且将输入的 ee 递增排序。
    考虑两队 (e1,r1,e2,r2)(e_1,r_1,e_2,r_2) 意味着什么。

    $$b^{e_1}\equiv r_1\pmod m\wedge b^{e_2}\equiv r_2\pmod m\implies r_1b^{e_2-e_1}-r_2=mk $$

    提取几个最小的 e2e1e_2-e_1,计算出来对应 mkmk,求 gcd 即可恢复 mm
    r1be2e1r2r_1b^{e_2-e_1}-r_2 可以被抽象为随机值;两个 O(n)O(n) 级别的随机数的 gcd 接近于 O(logn)O(\log n),于是需要做 O(logbmaxen)O(\log^*b^{\frac{\max e}{n}}) 次 gcd;总共时间复杂度为 $O(\text{高精 gcd}\times\log^*b^{\frac{\max e}{n}})=O(\frac{\max e}{n}\log^2\frac{\max e}{n}\log\log\frac{\max e}{n}\log^*\frac{\max e}{n})$。

    信息

    ID
    164
    时间
    2000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    17
    已通过
    3
    上传者