#P15940. [JOI Final 2026] 花园 3 / Garden 3

[JOI Final 2026] 花园 3 / Garden 3

题目描述

JOI 花园是一个矩形,被划分为 HHWW 列的网格。从上往下数第 ii 行、从左往右数第 jj 列的单元格被称为单元格 (i,j)(i, j)

当雨落在一个单元格上时,该单元格的湿度会增加。除了下雨的时候,单元格的湿度永远不会改变。如果一个单元格的湿度达到至少 XX,该单元格就会变成泥地,这是很危险的。因此,每天早上,JOI 花园的管理员 JOI 君最多可以指定一个矩形的禁区,该禁区包含所有湿度至少为 XX 的单元格。更准确地说,JOI 君选择四个整数 u,d,l,ru,d,l,r1udH1 \leq u \leq d \leq H1lrW1 \leq l \leq r \leq W),由所有满足 uidu \leq i \leq dljrl \leq j \leq r 的单元格 (i,j)(i, j) 组成的矩形区域将成为禁区。

初始时,JOI 花园中每个单元格的湿度都为 00

从今天开始,连续 NN 天每天傍晚都会下一次雨。在之后的第 k1k-1 天(1kN1 \leq k \leq N)傍晚,雨会落在每一个满足 UkiDkU_k \leq i \leq D_kLkjRkL_k \leq j \leq R_k 的单元格 (i,j)(i, j) 上,每个这样的单元格的湿度会增加 CkC_k

对于每个 k=1,2,,Nk=1,2,\dots,N,编写一个程序计算 JOI 君在之后的第 kk 天早上设置的禁区中所包含单元格的最小可能数量。

输入格式

从标准输入读取以下数据。

HH WW NN XX
U1U_1 D1D_1 L1L_1 R1R_1 C1C_1
U2U_2 D2D_2 L2L_2 R2R_2 C2C_2
\vdots
UNU_N DND_N LNL_N RNR_N CNC_N

输出格式

向标准输出写入 NN 行。输出的第 kk 行(1kN1 \leq k \leq N)应包含 JOI 君在第 kk 天早上设置的禁区中所包含单元格的最小可能数量。

3 3 5 10
3 3 1 1 5
1 3 1 2 7
1 3 3 3 4
1 1 1 2 12
3 3 3 3 6
0
1
1
6
9
9 1 5 1
3 3 1 1 4
5 8 1 1 1
3 5 1 1 3
8 8 1 1 4
8 9 1 1 5
1
6
6
6
7
4596 9794 15 141929907
600 3070 2222 8763 472026497
47 2644 3276 6033 930213777
638 945 304 1100 992702990
370 2211 2178 2977 783902937
277 2601 1559 8989 842013671
566 3272 3124 8456 254633541
91 4241 2655 8035 303526265
1342 3662 3909 7175 685435928
1176 4012 2827 8429 614977118
255 2461 1482 5835 794902067
982 2314 941 3952 342731056
1603 2215 6730 7105 332440107
2301 4568 6898 9561 591652619
124 2097 3520 8882 168525684
1845 3599 5592 7145 555656973
16165282
19783008
25583040
25583040
26266464
28021036
36437770
36437770
36437770
36437770
36437770
36437770
41864676
41864676
41864676

提示

样例 1

以下是关于每天湿度如何增加以及如何选择禁区以使包含的单元格数量最小化的一个例子。

  • 在第 00 天傍晚,单元格 (3,1)(3,1) 的湿度增加 55。在第 11 天早上,没有湿度至少为 1010 的单元格,因此不设置禁区。
  • 在第 11 天傍晚,单元格 (1,1)(1,1), (1,2)(1,2), (2,1)(2,1), (2,2)(2,2), (3,1)(3,1)(3,2)(3,2) 的湿度各增加 77。在第 22 天早上,单元格 (3,1)(3,1) 的湿度至少为 1010。JOI君选择 u=d=3u = d = 3l=r=1l = r = 1,从而设置了一个包含 11 个单元格的禁区。
  • 在第 22 天傍晚,单元格 (1,3)(1,3), (2,3)(2,3)(3,3)(3,3) 的湿度各增加 44。在第 33 天早上,单元格 (3,1)(3,1) 的湿度至少为 1010。JOI君选择 u=d=3u = d = 3l=r=1l = r = 1,从而设置了一个包含 11 个单元格的禁区。
  • 在第 33 天傍晚,单元格 (1,1)(1,1)(1,2)(1,2) 的湿度各增加 1212。在第 44 天早上,单元格 (1,1)(1,1), (1,2)(1,2)(3,1)(3,1) 的湿度至少为 1010。JOI君选择 u=1u = 1, d=3d = 3, l=1l = 1, r=2r = 2,从而设置了一个包含 66 个单元格的禁区。
  • 在第 44 天傍晚,单元格 (3,3)(3,3) 的湿度增加 66。在第 55 天早上,单元格 (1,1)(1,1), (1,2)(1,2), (3,1)(3,1)(3,3)(3,3) 的湿度至少为 1010。JOI君选择 u=1u = 1, d=3d = 3, l=1l = 1, r=3r = 3,从而设置了一个包含 99 个单元格的禁区。

这个样例输入满足子任务 3,43,455 的约束条件。

样例 2

这个样例输入满足所有子任务的约束条件。

样例 3

这个样例输入满足子任务 3,43,455 的约束条件。

约束条件

  • 1H1091 \leq H \leq 10^{9}
  • 1W1091 \leq W \leq 10^{9}
  • 1N2000001 \leq N \leq 200000
  • 1X2×10141 \leq X \leq 2 \times 10^{14}
  • 1UkDkH1 \leq U_k \leq D_k \leq H (1kN1 \leq k \leq N)。
  • 1LkRkW1 \leq L_k \leq R_k \leq W (1kN1 \leq k \leq N)。
  • 1Ck1091 \leq C_k \leq 10^{9} (1kN1 \leq k \leq N)。
  • 给定的值均为整数。

子任务

  1. 33 分)X=1X = 1
  2. 2424 分)W=1W = 1
  3. 1515 分)N300N \leq 300
  4. 3030 分)N5000N \leq 5000
  5. 2828 分)无附加约束条件。