AT_abc363_g [ABC363G] Dynamic Scheduling
题目描述
给定长度为 $N$ 的数列 $D=(D_1,\ D_2,\ \dots,\ D_N),\ P=(P_1,\ P_2,\ \dots,\ P_N)$。
请按顺序处理 $Q$ 个查询。每个查询的格式如下:
- `c x y` :将 $D_c$ 改为 $x$,将 $P_c$ 改为 $y$。然后,解决以下问题并输出答案。
> 有 $N$ 个编号为 $1$ 到 $N$ 的工作。
> 你从今天(记为第 $1$ 天)开始,每天可以选择 $1$ 个工作完成,连续进行 $N$ 天。
> 如果在第 $D_i$ 天之前(含第 $D_i$ 天)完成第 $i$ 个工作,可以获得 $P_i$ 的报酬。(如果没有在 $D_i$ 天之前完成,则没有报酬)
> 请你选择完成工作的顺序,使得可以获得的报酬总和最大,并输出该最大值。
输入格式
输入按以下格式从标准输入给出。这里 $\mathrm{query}_i$ 表示第 $i$ 个查询。
> $N$ $Q$ $D_1$ $D_2$ $\dots$ $D_N$ $P_1$ $P_2$ $\dots$ $P_N$
> $\mathrm{query}_1$
> $\mathrm{query}_2$
> $\vdots$
> $\mathrm{query}_Q$
每个查询的格式如下:
> $c$ $x$ $y$
输出格式
输出 $Q$ 行。第 $i$ 行输出第 $i$ 个查询的答案。
说明/提示
### 数据范围
- $1 \leq N \leq 10^5$
- $1 \leq Q \leq 10^5$
- $1 \leq D_i \leq N$
- $1 \leq P_i \leq 10^9$
- $1 \leq c \leq N$
- $1 \leq x \leq N$
- $1 \leq y \leq 10^9$
- 输入的所有值均为整数
### 样例解释 1
第 $1$ 个查询如下:
- 将 $D_3$ 改为 $1$,$P_3$ 改为 $4$。此时 $D = (1, 2, 1),\ P = (3, 6, 4)$。
- 在子问题中,按如下顺序完成工作是最优方案之一:第 $1$ 天做工作 $3$,第 $2$ 天做工作 $2$,第 $3$ 天做工作 $1$,此时报酬总和为 $10$,因此输出 $10$。
第 $2$ 个查询如下:
- 将 $D_2$ 改为 $3$,$P_2$ 改为 $9$。此时 $D = (1, 3, 1),\ P = (3, 9, 4)$。
- 在子问题中,按如下顺序完成工作是最优方案之一:第 $1$ 天做工作 $3$,第 $2$ 天做工作 $1$,第 $3$ 天做工作 $2$,此时报酬总和为 $13$,因此输出 $13$。
由 ChatGPT 4.1 翻译