AT_arc166_f [ARC166F] Tangent Addition Formula

题目描述

给定素数 $p$ 以及非负整数 $a,\ b$。 请判断是否存在一个长度为无穷的非负整数序列 $t = (t(0),\ t(1),\ t(2),\ \ldots)$,使其满足以下所有条件: - 对任意非负整数 $x$,都有 $0 \leq t(x) < p$。 - 对任意非负整数 $x,\ y$,都有 $t(x+y)\bigl(1-t(x)t(y)\bigr)\equiv t(x)+t(y)\pmod{p}$。 - $t(a) = b$。 给定 $T$ 组测试数据,请分别回答每组数据是否存在满足条件的非负整数序列 $t$。

输入格式

输入以以下格式从标准输入给出。 > $T$ > $\text{case}_1$ > $\vdots$ > $\text{case}_T$ 每组测试数据格式如下: > $p\ a\ b$

输出格式

请输出 $T$ 行,第 $i$ 行输出第 $i$ 组测试数据的答案。如果存在满足条件的非负整数序列 $t$,输出 `Yes`,否则输出 `No`。

说明/提示

### 限制 - $1 \leq T \leq 2 \times 10^5$ - $p$ 是满足 $1 \leq p \leq 10^9$ 的素数。 - $0 \leq a \leq 10^{9}$ - $0 \leq b < p$ ### 样例解释 1 - 当 $p=11,\ a=1,\ b=0$ 时:常数序列 $t = (0,0,0,0,\ldots)$ 满足条件。 - 当 $p=11,\ a=1,\ b=5$ 时:周期为 $3$ 的数列 $t = (0,5,6,0,5,6,\ldots)$ 满足条件。 由 ChatGPT 4.1 翻译