AT_arc218_f [ARC218F] Buckets

题目描述

**问题 F 和 F2 是同一个问题,只是在 $M$ 上有不同的限制。在问题 F 中,$1 \le M \le 4$。** 给定一个正整数 $M$。我们考虑如下问题: > **Bucket(倒水)** 给定一个正整数 $N$ 和两个长度为 $N$ 的非负整数序列 $A=(A_1,A_2,\dots,A_N)$ 和 $B=(B_1,B_2,\dots,B_N)$。所有 $A$ 和 $B$ 的元素都在 $0$ 到 $M$ 之间(包含 $0$ 和 $M$)。 > > 有 $N$ 个编号为 $1$ 到 $N$ 的水桶。每个水桶最多可容纳 $M$ 升水。最初,第 $i$ 个水桶有 $A_i$ 升水。 > > 你可以任意多次进行以下操作: > > - 选择两个不同的水桶 $i$ 和 $j$。只要同时满足以下两个条件,就不断把 $i$ 号桶的水倒入 $j$ 号桶: > - $i$ 号桶还有剩余的水; > - $j$ 号桶中的水量还不足 $M$ 升。 > > 你的目标是让每个水桶 $i$ 恰好有 $B_i$ 升水。请判断目标是否能达成。 现在你有一个非负整数矩阵 $X=(X_{i,j})$,下标范围 $0 \le i,j \le M$,共 $(M+1)$ 行 $(M+1)$ 列。处理以下 $Q$ 个询问。 - 给定非负整数 $i,j,Y$,其中 $0 \le i,j \le M$。将 $X_{i,j}$ 变为 $Y$。然后通过以下过程获得非负整数序列 $A$ 和 $B$: - 将 $A$ 和 $B$ 初始化为空序列。 - 对 $i=0,1,\dots,M$ 依次进行: - 对 $j=0,1,\dots,M$ 依次进行: - 重复 $X_{i,j}$ 次:将 $i$ 添加到 $A$ 的末尾,将 $j$ 添加到 $B$ 的末尾。 - 对于 $A$ 和 $B$(长度为 $N = \sum_{i=0}^{M} \sum_{j=0}^{M} X_{i,j}$),解决 **Bucket** 问题。

输入格式

输入从标准输入读取,格式如下: > $M \ Q$ > $X_{0,0}\ X_{0,1}\ \dots\ X_{0,M}$ > $X_{1,0}\ X_{1,1}\ \dots\ X_{1,M}$ > $\vdots$ > $X_{M,0}\ X_{M,1}\ \dots\ X_{M,M}$ > $\mathrm{query}_1$ > $\mathrm{query}_2$ > $\vdots$ > $\mathrm{query}_Q$ 每个询问的格式如下: > $i\ j\ Y$

输出格式

输出 $Q$ 行。第 $i$ 行输出 `Yes`,如果第 $i$ 次询问可以达成目标,否则输出 `No`。

说明/提示

### 样例解释 1 第一次询问后,$X=\begin{pmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \end{pmatrix}$,得到 $A=(1,1,2),B=(2,2,0)$。 此时,可以通过如下操作之一实现目标: - 选 $i=1,j=2$,每个桶的水量由 $(1,1,2)$ 变为 $(0,2,2)$。 - 选 $i=3,j=1$,水量由 $(0,2,2)$ 变为 $(2,2,0)$。 第二次询问后,$X=\begin{pmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 1 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ \end{pmatrix}$,得到 $A=(1,1,2,2),B=(2,2,0,3)$。 此时无论如何操作都无法达成目标。 第三次询问后,$X=\begin{pmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 2 & 0 \\ 1 & 1 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ \end{pmatrix}$,得到 $A=(1,1,2,2,2),B=(2,2,0,1,3)$。 此时,可以通过如下操作之一实现目标: - 选 $i=1,j=2$,水量由 $(1,1,2,2,2)$ 变为 $(0,2,2,2,2)$。 - 选 $i=3,j=1$,水量由 $(0,2,2,2,2)$ 变为 $(2,2,0,2,2)$。 - 选 $i=4,j=5$,水量由 $(2,2,0,2,2)$ 变为 $(2,2,0,1,3)$。 ### 数据范围 - **$1 \le M \le 4$** - $1 \le Q \le 10^6$ - $0 \le X_{i,j},Y \le 10^{17}$ - $0 \le i,j \le M$ - 任意时刻均有 $\sum_{i=0}^{M} \sum_{j=0}^{M} X_{i,j} \ge 1$ - 输入中的所有数均为整数。 由 ChatGPT 5 翻译