1 solutions

  • 0
    @ 2025-5-4 22:41:16

    只说满分做法,部分分做法就是以下各部分的更慢做法而已。

    首先预处理 12n1\sim 2nφ\varphi 函数,这个结合线性质数筛即可。

    由于 φ(n),φ(2n),φ(nK)\varphi(n),\varphi(2n),\varphi(n-K) 都不大于 nn,因此游戏一定有终点必胜态 11,是公平组合游戏,以此利用记忆化搜索或者 dp 可以预处理所有点是先手必胜还是必败态。

    aia_i 表示 ii 的先手必胜/必败态,设必胜是 00,必败是 11,那么对所有的 ar=0a_r=0,要求 $b_r=\max\limits_{l=1}^r\dfrac{\sum\limits_{i=l}^r a_i}{r-l+1}$ 。

    设满足 ar=0a_r=0rrr1,r2,...,rmr_1,r_2,...,r_m,则答案为 i=1m(1bri)m\dfrac{\sum\limits_{i=1}^m(1-b_{r_i})}{m},保证 m1m\ge 1

    快速求 brb_r 则直接根据点集 (i,j=1iaj)(i,\sum\limits_{j=1}^i a_j) 求下凸壳相邻两点的最大斜率即可,使用线性的单调队列求法即可。

    满分做法三个部分的时间复杂度均为线性,评价为小清新缝合题。

    更详细的题目讲解见 https://zhuanlan.zhihu.com/p/691259649

    • 1

    Information

    ID
    14
    Time
    1500ms
    Memory
    512MiB
    Difficulty
    7
    Tags
    # Submissions
    6
    Accepted
    1
    Uploaded By