P16391 [IATI 2024] Game
题目描述
Klimi 和 Nikol 有一个整数数组 $A$,它包含 $N$ 个格子,编号从 $0$ 到 $N-1$,且包含**不同**的整数值。女孩们正在玩一个游戏,使用一个在数组上移动的棋子。初始时,棋子位于某个格子。游戏的一步按照以下过程进行:
- 轮到行动的玩家拿起棋子,将其移动到距离当前格子至多 $D$ 的另一个格子。形式化地,如果棋子当前在格子 $x$ ($0\leq x< N$),则允许玩家将棋子移动到格子 $y$ ($0\leq y
输入格式
评测器的输入格式为:
- $N$ $D$
- $A_0$ $A_1$ ... $A_{N-1}$
- $Q$
-
其中询问的格式为:
- $1$ `ind` `val` --- 更新询问,设置 $A_{\mathrm{ind}}=\mathrm{val}$
- $2$ `ind` --- 询问,棋子起始于 `ind`
输出格式
对于每个类型 $2$ 的询问,评测器会打印 $0$ 如果你的函数返回 `false`,打印 $1$ 如果返回 `true`。
说明/提示
### 样例
假设 $A = [1, 7, 4, 9, 30, 2]$,$D = 2$,$Q = 5$。一个调用的序列示例为:
- 调用 `init({1, 7, 4, 9, 30, 2}, 2)`
- 调用 `isWinning(0)` 返回 `true`
- 调用 `isWinning(1)` 返回 `false`
- 调用 `updateValue(4, 8)`
- 调用 `isWinning(0)` 返回 `false`
- 调用 `isWinning(1)` 返回 `true`
更新调用后的数组为 $[1, 7, 4, 9, 8, 2]$。可以证明,如果两位女孩均采取最优玩法,上述回答均是正确的。
### 数据范围
- $1 \leq N, Q \leq 2\cdot 10^5$
- $1 \leq D \leq 25$
- $1 \leq A_i \leq 10^9$
- $0 \leq \mathrm{index}, \mathrm{startIndex} < N$
- $1 \leq \mathrm{newValue} \leq 10^9$
- $A$ 中的值在任何时候均互不相同,包括更新之后。
### 子任务
| **子任务** | **分数** | **$N, Q$** | **$D$** | **额外约束** |
| :---: | :---: | :---: | :---: | :---: |
| $1$ | $8$ | $N, Q \leq 10$ | $D \leq 25$ | |
| $2$ | $18$ | $N, Q \leq 2\cdot 10^3$ | $D \leq 25$ | 没有更新询问 |
| $3$ | $16$ | $N, Q \leq 2\cdot 10^5$ | $D \leq 25$ | 没有更新询问 |
| $4$ | $27$ | $N, Q \leq 10^5$ | $D \leq 10$ | |
| $5$ | $31$ | $N, Q \leq 2\cdot 10^5$ | $D \leq 25$ | |
你必须通过某个子任务中的所有测试才能获得该子任务的分数。
翻译由 DeepSeek V4 Pro 完成