1 条题解

  • 2
    @ 2023-7-3 11:16:06

    对于一个数 dd,若区间 [l,r][l,r] 中存在多于一个数是 dd 的倍数,则 dF(l,r)d|F(l,r)。从大到小枚举 dd 即有 30pts30pts

    考虑继承 F(l,r+1)F(l,r+1),我们发现任意 l,rl,r 必然满足 F(l,r)F(l,r+1)F(l,r)\le F(l,r+1),所以倒着处理,每次都把答案从上一次继承并向下枚举直到合法即可。

    证明:

    反证。

    x=F(l,r+1)x=F(l,r+1),正确的 F(l,r)F(l,r)xx',满足 x<xx<x'。则有两个数 lo,pr,gcd(o,p)=xl \le o,p \le r,\gcd(o,p)=x'。必然有 1o,pr+11 \le o,p \le r+1,则 x=xx=x',与假设矛盾。

    信息

    ID
    2991
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    153
    已通过
    6
    上传者