#lg15945. [JOI Final 2026] 雨落三角 / Triangular Rainfall

[JOI Final 2026] 雨落三角 / Triangular Rainfall

AdditionalFile5669.zip

#5669. 「JOI 2026 Final Day3」三角形降雨

标签: 传统 | 时间限制: 4000 ms | 内存限制: 1024 MiB |

题目描述

题目译自 JOI 2026 Final Day3 T1 「三角形降雨 / Triangular Rainfall

JOI 国是一个以点 A,B,CA, B, C 为顶点,边长为 LL 的正三角形。这里 LL 是正整数。边 ABAB 将顶点 A,BA, B 在东西方向上连接,顶点 AA 是 JOI 国的最西端,顶点 BB 是 JOI 国的最东端。顶点 CC 是 JOI 国的最北端。

JOI 国被划分为 L2L^2 个边长为 11 的正三角形区域。若一个点是某个区域的顶点,则称该点为格子点。对于满足 0yL0 \le y \le L0xLy0 \le x \le L-y 的整数 x,yx, y,从南侧起第 1+y1+y 个、从西侧起第 1+x1+x 个格子点表示为 (x,y)(x, y)。特别地,AA 表示为 (0,0)(0, 0)BB 表示为 (L,0)(L, 0)CC 表示为 (0,L)(0, L)。例如,下图表示了 L=5L=5 时的区域和格子点。

rainfall-fig1.png

JOI 国发布了接下来 NN 天的天气预报。第 ii 天,预报称以格子点 (Xi,Yi),(Xi+Zi,Yi),(Xi,Yi+Zi)(X_i, Y_i), (X_i+Z_i, Y_i), (X_i, Y_i+Z_i) 为顶点的正三角形区域 TiT_i 将会降雨。所谓第 ii 天预报有雨的区域,是指该区域整体都包含在 TiT_i 之内的单位三角形区域。

为了防范降雨造成的灾害,对于 k=1,2,,Kk=1, 2, \ldots, K,需要调查预报有 kk 天以上降雨的区域数量。

给定 JOI 国的大小、天气预报信息以及 KK,请编写一个程序,求出对于 k=1,2,,Kk=1, 2, \ldots, K,预报有 kk 天以上降雨的区域数量。

输入格式

第一行包含三个整数 L,N,KL, N, K

接下来的 NN 行,其中第 ii 行包含三个整数 Xi,Yi,ZiX_i, Y_i, Z_i

输出格式

标准输出输出 KK 行。第 kk(1kK)(1 \le k \le K) 输出预报有 kk 天以上降雨的区域数量。

样例 1

输入

5 2 2
1 0 3
0 1 4

输出

21
4

对于每个区域,预报有雨的天数图示如下:

rainfall-fig2.png

此样例满足子任务 1,2,3,4,8,91, 2, 3, 4, 8, 9 的限制。

样例 2

输入

5 4 5
1 0 4
0 1 3
2 0 2
1 2 2

输出

21
10
2
0
0

对于每个区域,预报有雨的天数图示如下:

raillfall-fig3.png

此样例满足子任务 2,3,4,92, 3, 4, 9 的限制。

数据范围与提示

对于所有输入数据,满足:

  • 2L1092 \le L \le 10^9
  • 2N2000002 \le N \le 200000
  • 1K51 \le K \le 5
  • 0XiL0 \le X_i \le L (1iN)(1 \le i \le N)
  • 0YiL0 \le Y_i \le L (1iN)(1 \le i \le N)
  • 1ZiL1 \le Z_i \le L (1iN)(1 \le i \le N)
  • Xi+Yi+ZiLX_i + Y_i + Z_i \le L (1iN)(1 \le i \le N)
  • 输入的所有值均为整数。

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 44 N=2,K=2N=2, K=2
22 55 L100,N100L \le 100, N \le 100
33 55 L1000L \le 1000
44 77 N2000N \le 2000
55 1010 Xi=0X_i=0 (1iN),K=1(1 \le i \le N), K=1
66 1010 Xi=0X_i=0 (1iN)(1 \le i \le N)
77 2323 K=1K=1
88 1818 K2K \le 2
99 1818 无附加限制