CF676E The Last Fight Between Human and AI

题目描述

距离人类上一次在围棋中击败计算机已经过去 100 年。技术取得了巨大进步,机器人征服了地球!现在,是人类与机器人之间的最后决战,胜负将决定这个星球的命运。 决战的游戏规则如下:初始时有一个多项式 $$ P(x) = a_{n}x^{n} + a_{n-1}x^{n-1} + \ldots + a_{1}x + a_{0} $$ 其中每个系数尚未确定,以及一个整数 $k$。两位玩家轮流行动。每当轮到一名玩家时,该玩家选择某一系数 $a_j$(即 $x^j$ 的系数),只要当前该系数还没有被确定,就可以将其赋为任意值(整数或实数,正数、负数均可,$0$ 也是允许的)。计算机先手。只有当最终形成的多项式能被 $Q(x) = x - k$ 整除时,人类才能获胜。 如果存在某个多项式 $B(x)$,使得 $P(x) = B(x)Q(x)$,则称多项式 $P(x)$ 能被 $Q(x)$ 整除。 有些系数已经被确定,现在你想知道,如果人类接下来每一步都采用最优策略,是否可以保证胜利?

输入格式

第一行包含两个整数 $n$ 和 $k$($1 \leq n \leq 100000,\, |k| \leq 10000$),分别表示多项式的次数和给定的整数 $k$。 接下来的 $n+1$ 行,每行包含一个字符 '?' 或一个整数 $a_i$。如果 $x^{i-1}$ 的系数尚未确定,则为 '?';如果已经确定,则为整数 $a_i$($-10000 \leq a_i \leq 10000$)。每个 $a_i$(包括 $a_n$)都可以为 $0$。 请注意,不能保证当前是计算机的回合。

输出格式

如果人类有必胜策略,输出 "Yes";否则输出 "No"。

说明/提示

在第一个样例中,计算机将 $a_{0}$ 设为 $-1$,接着人类可以将 $a_{1}$ 设为 $0.5$,从而获胜。 在第二个样例中,所有系数都已经确定,且所得多项式能被 $x-100$ 整除,所以人类获胜。 由 ChatGPT 5 翻译