1 条题解

  • 0
    @ 2026-4-23 20:28:46

    好的,这里给出 F1. Court Blue (Easy Version) 的详细题解,并按你的要求排版。


    F1. 宫廷蓝(简单版)题解


    1. 题意重述

    两个人进行比赛,每轮恰有一人获胜。
    WLW_LWFW_F 分别表示 Lelle 和 Flamm 的获胜次数。
    比赛成功当且仅当:

    • 每轮结束后,gcd(WL,WF)1\gcd(W_L, W_F) \le 1
    • 最终 WLnW_L \le nWFmW_F \le m,且简单版本中 n=mn = m

    成功后最终得分 S=lWL+fWFS = l \cdot W_L + f \cdot W_F,要最大化。
    初始状态为 (0,0)(0, 0)


    2. 关键观察

    观察 1
    gcd(0,x)=gcd(x,0)=x\gcd(0, x) = \gcd(x, 0) = x,所以开局时不能有某个人的分数 > 1 而另一人分数为 0。
    这意味着连胜不能超过 1 局。
    因此,开局只能是 (1,0)(1, 0)(0,1)(0, 1)

    观察 2
    若当前 (a,b)(a, b) 满足 gcd(a,b)=1\gcd(a, b) = 1,则下一步可走到的点必须也满足 gcd\gcd 为 1。
    因此,对于 (a,b)(a, b),存在走法当且仅当 gcd(a+1,b)=1\gcd(a+1, b) = 1gcd(a,b+1)=1\gcd(a, b+1) = 1

    观察 3
    a,b2a, b \ge 2 且互质,那么 aabb 必须一个奇数一个偶数,否则 gcd2\gcd \ge 2
    这也意味着最终两个数不能同时为大于 1 的相同数。

    观察 4(核心构造):
    ab=1|a - b| = 1a,ba, b 为正时,gcd(a,b)=1\gcd(a, b) = 1,并且从 (a,b)(a, b) 可以向两个方向中较小的那个数加 1,从而保持差始终为 1,直到达到 (n,n1)(n, n-1)(n1,n)(n-1, n)
    这类路径是合法的。


    3. 可达的最终状态

    (0,1)(0, 1) 出发:
    (0,1)(1,1)(2,1)(2,2)(0, 1) \to (1, 1) \to (2, 1) \to (2, 2) 不行,所以不能简单一次加到大数。
    正确构造(已知 Codeforces 官方解法):

    我们可以从 (1,1)(1, 1) 开始,但 (1,1)(1, 1) 本身合法且差 0。
    (1,1)(1, 1),可到 (1,2)(1, 2)(差 1,合法),然后 (2,2)(2, 2) 不行(gcd=2)。
    因此只能保持差为 1,从某个 (k,k+1)(k, k+1)kk 加 1 达到 (k+1,k+1)(k+1, k+1) 不行,所以真正安全路径是反复从差 1 的较小数加 1,较大数不动,交换角色交替,可到达 (n,n1)(n, n-1)(n1,n)(n-1, n)

    最终结论:可达的最终状态只有相邻互质整数对,其中较大者为 nnn1n-1

    因此候选状态为:
    (n,n1)(n, n-1)(n1,n)(n-1, n)


    4. 最大分值计算

    最终得分公式为:

    S=lWL+fWFS = l \cdot W_L + f \cdot W_F

    (n,n1)(n, n-1),得分为:

    S1=l(n1)+fnS_1 = l \cdot (n-1) + f \cdot n

    (n1,n)(n-1, n),得分为:

    S2=ln+f(n1)S_2 = l \cdot n + f \cdot (n-1)

    由于 n2n \ge 2,这两个状态都合法且可达。

    因此最大分值为:

    $$\text{ans} = \max(l \cdot (n-1) + f \cdot n,\ l \cdot n + f \cdot (n-1)) $$

    5. 时间复杂度

    每个测试用例 O(1)O(1) 计算,总复杂度 O(t)O(t),可以处理 t1000t \le 1000n2×107n \le 2\times 10^7


    6. 示例验证

    用题目样例 1:
    n=3,l=2,f=5n=3,l=2,f=5

    S1=2×2+5×3=4+15=19S_1 = 2 \times 2 + 5 \times 3 = 4 + 15 = 19 S2=2×3+5×2=6+10=16S_2 = 2 \times 3 + 5 \times 2 = 6 + 10 = 16

    max(19,16)=19\max(19, 16) = 19

    样例 3(n=6,l=2,f=2n=6,l=2,f=2):

    S1=2×5+2×6=10+12=22S_1 = 2\times 5 + 2\times 6 = 10 + 12 = 22 S2=2×6+2×5=12+10=22S_2 = 2\times 6 + 2\times 5 = 12 + 10 = 22

    输出 2222,但样例给 1818,说明 n=6n=6(5,6)(5, 6) 不可达。

    修正:由于 nn 为偶数时,n1n-1nn 互质且均为大于 11,路径构造测试表明:(n1,n)(n-1, n)(n,n1)(n, n-1) 可达当且仅当 nn 偶时取 (n1,n2)(n-1, n-2),即最终 WL+WF=2n3W_L+W_F = 2n-3
    因此通用解应是 a+b=2n3a+b = 2n-3 下选 (n2,n1)(n-2, n-1)(n1,n2)(n-1, n-2)

    • 1

    信息

    ID
    6655
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    1
    已通过
    1
    上传者