CF1928E Modular Sequence
题目描述
给定两个整数 $x$ 和 $y$。长度为 $n$ 的序列 $a$ 被称为“模序列”,如果 $a_1 = x$,并且对于所有 $1 < i \le n$,$a_i$ 的值要么等于 $a_{i-1} + y$,要么等于 $a_{i-1} \bmod y$。这里 $x \bmod y$ 表示 $x$ 除以 $y$ 的余数。
请判断是否存在一个长度为 $n$ 的模序列,其所有元素之和等于 $S$。如果存在,输出任意一个满足条件的序列。
输入格式
每组测试数据包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 2 \cdot 10^4$),表示测试用例的数量。
接下来每个测试用例一行,包含四个整数 $n$、$x$、$y$ 和 $s$($1 \le n \le 2 \cdot 10^5$,$0 \le x \le 2 \cdot 10^5$,$1 \le y \le 2 \cdot 10^5$,$0 \le s \le 2 \cdot 10^5$),分别表示序列长度、参数 $x$ 和 $y$ 以及所需的序列元素和。
所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$,所有测试用例中 $s$ 的总和也不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,如果存在满足条件的序列,第一行输出 "Yes"(不带引号)。第二行输出 $n$ 个整数 $a_1, a_2, \ldots, a_n$,用空格分隔,表示该序列。如果存在多组满足条件的序列,输出任意一组均可。
如果不存在这样的序列,输出一行 "No"。
你可以用任意大小写输出答案。例如,"yEs"、"yes"、"Yes" 和 "YES" 都是可以接受的正答。
说明/提示
在第一个样例中,序列 $[8, 11, 2, 5, 2]$ 满足条件。因此,$a_1 = 8 = x$,$a_2 = 11 = a_1 + 3$,$a_3 = 2 = a_2 \bmod 3$,$a_4 = 5 = a_3 + 3$,$a_5 = 2 = a_4 \bmod 3$。
在第二个样例中,序列的第一个元素应为 $5$,因此 $[2, 2, 2]$ 不是合适的序列。
由 ChatGPT 4.1 翻译