#aBC363G. [ABC363G] Dynamic Scheduling

[ABC363G] Dynamic Scheduling

AT_abc363_g [ABC363G] Dynamic Scheduling

题目描述

给定长度为 NN 的数列 $D=(D_1,\ D_2,\ \dots,\ D_N),\ P=(P_1,\ P_2,\ \dots,\ P_N)$。

请按顺序处理 QQ 个查询。每个查询的格式如下:

  • c x y :将 DcD_c 改为 xx,将 PcP_c 改为 yy。然后,解决以下问题并输出答案。

NN 个编号为 11NN 的工作。
你从今天(记为第 11 天)开始,每天可以选择 11 个工作完成,连续进行 NN 天。
如果在第 DiD_i 天之前(含第 DiD_i 天)完成第 ii 个工作,可以获得 PiP_i 的报酬。(如果没有在 DiD_i 天之前完成,则没有报酬)
请你选择完成工作的顺序,使得可以获得的报酬总和最大,并输出该最大值。

输入格式

输入按以下格式从标准输入给出。这里 queryi\mathrm{query}_i 表示第 ii 个查询。

NN QQ D1D_1 D2D_2 \dots DND_N P1P_1 P2P_2 \dots PNP_N
query1\mathrm{query}_1
query2\mathrm{query}_2
\vdots
queryQ\mathrm{query}_Q

每个查询的格式如下:

cc xx yy

输出格式

输出 QQ 行。第 ii 行输出第 ii 个查询的答案。

输入输出样例 #1

输入 #1

3 2
1 2 3
3 6 3
3 1 4
2 3 9

输出 #1

10
13

输入输出样例 #2

输入 #2

5 1
1 2 3 4 5
1000000000 1000000000 1000000000 1000000000 1000000000
1 1 1000000000

输出 #2

5000000000

输入输出样例 #3

输入 #3

10 10
6 2 4 1 5 1 6 6 5 3
45 65 71 52 86 52 48 60 40 98
5 6 5
8 4 34
6 7 83
1 3 21
7 5 85
7 4 51
8 2 81
2 7 54
6 1 5
8 6 30

输出 #3

394
379
462
457
459
414
443
479
401
396

说明/提示

数据范围

  • 1N1051 \leq N \leq 10^5
  • 1Q1051 \leq Q \leq 10^5
  • 1DiN1 \leq D_i \leq N
  • 1Pi1091 \leq P_i \leq 10^9
  • 1cN1 \leq c \leq N
  • 1xN1 \leq x \leq N
  • 1y1091 \leq y \leq 10^9
  • 输入的所有值均为整数

样例解释 1

11 个查询如下:

  • D3D_3 改为 11P3P_3 改为 44。此时 D=(1,2,1), P=(3,6,4)D = (1, 2, 1),\ P = (3, 6, 4)
  • 在子问题中,按如下顺序完成工作是最优方案之一:第 11 天做工作 33,第 22 天做工作 22,第 33 天做工作 11,此时报酬总和为 1010,因此输出 1010

22 个查询如下:

  • D2D_2 改为 33P2P_2 改为 99。此时 D=(1,3,1), P=(3,9,4)D = (1, 3, 1),\ P = (3, 9, 4)
  • 在子问题中,按如下顺序完成工作是最优方案之一:第 11 天做工作 33,第 22 天做工作 11,第 33 天做工作 22,此时报酬总和为 1313,因此输出 1313

由 ChatGPT 4.1 翻译