1 条题解

  • 0
    @ 2026-4-3 19:58:07

    题目 A. Race 详细题解

    题目重述

    • Alice 从点 aa 出发。
    • 奖品可能出现在点 xx 或点 yya,x,ya, x, y 两两不等)。
    • Bob 可以选择任意一个整数起点(不能选 aa),目标是:
      • 无论奖品在 xx 还是 yy,Bob 到奖品的距离 严格小于 Alice 到奖品的距离。
    • 距离定义为 cd|c - d|

    核心思路

    假设 x<yx < y(如果不满足,可以交换 xxyy 的分析,因为题目对称)。

    考虑 aax,yx, y 的相对位置,共有 33 种情况:


    情况 1:a<x<ya < x < y

    • 奖品在 xx 时:
      Alice 距离 =xa= x - a,Bob 若选 xx,则距离 =0= 0,显然 0<xa0 < x - a 成立。
    • 奖品在 yy 时:
      Alice 距离 =ya= y - a,Bob 若选 xx,则距离 =yx= y - x
      因为 x>ax > a,所以 yx<yay - x < y - a 恒成立。

    因此 Bob 可以选择 xx 点,保证获胜。
    结论:YES


    情况 2:x<a<yx < a < y

    • 如果 Bob 选择 aa 左边任意点 b<ab < a
      奖品在 yy 时,Alice 距离 =ya= y - a,Bob 距离 =yb>ya= y - b > y - a(因为 b<ab < a),Bob 输。
    • 如果 Bob 选择 aa 右边任意点 b>ab > a
      奖品在 xx 时,Alice 距离 =ax= a - x,Bob 距离 =bx>ax= b - x > a - x(因为 b>ab > a),Bob 输。

    无论 Bob 怎么选,总有一个奖品位置让他输。
    结论:NO


    情况 3:x<y<ax < y < a

    • 奖品在 yy 时:
      Alice 距离 =ay= a - y,Bob 若选 yy,则距离 =0= 0,显然 0<ay0 < a - y 成立。
    • 奖品在 xx 时:
      Alice 距离 =ax= a - x,Bob 若选 yy,则距离 =yx= y - x
      因为 y<ay < a,所以 yx<axy - x < a - x 恒成立。

    因此 Bob 可以选择 yy 点,保证获胜。
    结论:YES


    统一条件

    注意观察:

    • aaxxyy 同一侧时(即 a<x<ya < x < yx<y<ax < y < a),答案为 YES
    • aaxxyy 之间时(即 x<a<yx < a < y),答案为 NO

    等价判断:

    (a<x)(a < x)(a<y)(a < y) 同时为真,或同时为假,则输出 YES,否则 NO。

    这正是标程中的一行判断:

    cout << ((a < x) == (a < y) ? "YES" : "NO") << '\n';
    

    完整证明

    x<yx < y

    情况 条件 (a<x)(a < x) (a<y)(a < y) 是否相等 结论
    a<x<ya < x < y aa 在最左 相等 YES
    x<a<yx < a < y aa 在中间 不等 NO
    x<y<ax < y < a aa 在最右 相等 YES

    时间复杂度

    每个测试用例 O(1)O(1),总复杂度 O(t)O(t),完美通过。


    示例验证

    输入:

    3
    1 3 4
    5 3 1
    3 1 5
    
    • 第1组:a=1,x=3,y=4a=1, x=3, y=41<31<31<41<4 → 相等 → YES
    • 第2组:a=5,x=3,y=1a=5, x=3, y=1,先排序为 x=1,y=3x=1, y=35<15<1? 假,5<35<3? 假 → 相等 → YES
    • 第3组:a=3,x=1,y=5a=3, x=1, y=53<13<1? 假,3<53<5? 真 → 不等 → NO

    输出:

    YES
    YES
    NO
    

    与题目样例完全一致。

    • 1

    信息

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