zoukankan      html  css  js  c++  java
  • CF 1103B Game with modulo

    题目

    $a, x$ 是正整数。显然有
    egin{aligned}
    x ge 2x pmod{a} implies a le 2x
    end{aligned}

    若 $x le a$ 则
    egin{aligned}
    x < 2x pmod{a} implies a > 2x
    end{aligned}

    证明

    首先,$x < 2x pmod{a} implies x e a$ 即 $x < a$,故
    egin{aligned}
    x < 2x pmod{a} iff x < 2x mod a.
    end{aligned}
    假设 $ a le 2x $,则
    egin{aligned}
    color{red}{2x mod{a} le 2x - a} = x + (x - a) < x
    end{aligned}
    矛盾!


    比赛时我花了 30 分钟推出了上述结论。

    据此可以确定 $a$ 的范围

    有两种情况

    Case 1
    $ 1le a le 2$
    此时 ask(2, 1) 即可确定 $a$ 的值。

    Case 2
    $ x < a le 2x$ 且 $x = 2^k, k ge 1$

    在剩下的一个小时内,我都没想出 CASE2 应该怎么做。

    思考的方向当然是二分答案。

    注意到,当 $ x < i <a$ 时 $i mod a = i > x$,当 $a le i le 2x$ 时 $ i mod a = i - a < x$
    因此 $ a = min{ i : i mod a < x mod a} $


    implementation

  • 相关阅读:
    结构化建模分析
    qemusystemriscv64 machine \?
    git clone commit
    riscv gdb machine mode
    error: src refspec main does not match any.
    riscv ecall
    git windows
    fixedlink
    iperf交叉编译
    每日学习
  • 原文地址:https://www.cnblogs.com/Patt/p/10306884.html
Copyright © 2011-2022 走看看