CF639C Bear and Polynomials
题目描述
小北极熊 Limak 没有很多玩具,因此他经常玩多项式。
他认为一个多项式是合法的,当且仅当它的次数为 $n$,且所有系数都是绝对值不超过 $k$ 的整数。更正式地说:
设 $a_0, a_1, ..., a_n$ 为多项式系数,则 $P(x) = a_0 + a_1 x + \cdots + a_n x^n$。当且仅当同时满足下列条件时,多项式 $P(x)$ 是合法的:
- 对于每个 $i$,$a_i$ 是整数;
- 对于每个 $i$,$|a_i| \leq k$;
- $a_n \neq 0$。
最近 Limak 得到了一个合法的多项式 $P$,其系数为 $a_0, a_1, a_2, ..., a_n$。他发现 $P(2) \neq 0$,于是打算将它改变。他想通过修改一个系数,得到一个次数为 $n$ 的合法多项式 $Q$,并使得 $Q(2) = 0$。请你计算有多少种不同的方式可以实现。
如果得到的目标多项式中的系数不同,则视为不同的方式。
输入格式
第一行包含两个整数 $n$ 和 $k$($1 \leq n \leq 200000, 1 \leq k \leq 10^{9}$),分别表示多项式的次数和系数绝对值的限制。
第二行包含 $n+1$ 个整数 $a_0, a_1, ..., a_n$($|a_i| \leq k, a_n \neq 0$),描述一个合法的多项式 $P(x) = a_0 + a_1 x + \cdots + a_n x^n$。保证 $P(2) \neq 0$。
输出格式
输出可以通过修改一个系数得到合法多项式且 $Q(2)=0$ 的方式数。
说明/提示
在第一个样例中,给定多项式 $P(x) = 10 - 9x - 3x^2 + 5x^3$。
Limak 可以通过三种方式修改一个系数:
1. 令 $a_0 = -10$,得到 $Q(x) = -10 - 9x - 3x^2 + 5x^3$,此时 $Q(2) = -10 - 18 - 12 + 40 = 0$。
2. 令 $a_2 = -8$,得到 $Q(x) = 10 - 9x - 8x^2 + 5x^3$,此时 $Q(2) = 10 - 18 - 32 + 40 = 0$。
3. 令 $a_1 = -19$,得到 $Q(x) = 10 - 19x - 3x^2 + 5x^3$,此时 $Q(2) = 10 - 38 - 12 + 40 = 0$。
在第二个样例中,给出的多项式相同,但 $k=12$。此时上述三种方式中,只有前两种的结果合法,第三种方式因为 $|a_1| > k$ 不合法。因此答案为 $2$。
由 ChatGPT 5 翻译