#loj5657. 「POI2026 R3」Deszcze meteorów

「POI2026 R3」Deszcze meteorów

AdditionalFile5657.zip

#5657. 「POI2026 R3」Deszcze meteorów

标签: 传统 | 时间限制: 7000 ms | 内存限制: 512 MiB |

题目描述

题目译自 XXXIII Olimpiada Informatyczna – III etap Deszcze meteorów

比特托邦的秋天已经开始。夜晚变得越来越长、越来越冷,居民们不安地注视着天空,因为在接下来的 nn 天里预计会出现流星雨。对于每一天,我们已知若干个互不相交的毫秒区间,在这些区间内预计会有流星雨。总共有 mm 个这样的区间。

拜塔扎尔考虑在接下来的 nn 天中的某一天开始观测流星。为此,他希望选择一个开始观测的日期 ii,以及一个观测时刻 tt(以毫秒为单位)。我们的主人公将在接下来的连续日期(i,i+1,i+2,i, i+1, i+2, \ldots)中进行观测,只要在这些日子的时刻 tt 都有流星雨发生。换句话说,在 i,i+1,i+2,i, i+1, i+2, \ldots 这些日子中,拜塔扎尔将在第一个时刻 tt 没有流星雨的日子停止观测。

拜塔扎尔还不确定在哪一天开始观测。因此,他请你为每一个起始日期 ii,计算出在符合上述条件的情况下,他能够连续观测流星雨的最大天数。若第 ii 天没有任何流星雨发生,则所求的最大天数为 00

输入格式

第一行包含两个整数 nnmm (1n,m500000)(1 \leq n, m \leq 500000),分别表示天数和区间总数。

接下来的 mm 行中,每行包含三个整数 d,xd, xyy (1dn,0x<y86400000)(1 \leq d \leq n, 0 \leq x < y \leq 86400000),表示在第 dd 天预计会有流星雨,它从第 xx 毫秒开始,并在第 yy 毫秒前结束。你可以假设同一天的给定区间是两两不相交的。

输出格式

你的程序应当输出 nn 行。第 ii 行包含一个整数,表示从第 ii 天开始、且每天在同一时刻观测的情况下,能够连续观测流星的最大天数。

样例

输入

5 7
4 2 4
1 3 7
3 4 8
2 6 9
2 2 4
5 1 6
4 7 9

输出

3
3
2
2
1

对于连续的日期,观测可以分别在以下时刻(以毫秒为单位)进行:6,7,7,26, 7, 7, 211。下图展示了每一天代表流星雨的区间,并用阴影标注了对应于所选观测时刻的区域。请注意,第二天的区间覆盖了第三天的区间。

附加样例

  • 0a\texttt{0a}:即为上述样例。
  • 0b\texttt{0b}n=m=500000,di=i,xi=i,yi=2in=m=500000, d_i=i, x_i=i, y_i=2i
  • 0c\texttt{0c}n=1000n=1000,偶数日有 22 个区间,奇数日有 11 个区间。
  • 0d\texttt{0d}n=100,yi1000n=100, y_i \leq 1000,第 ii 天包含 imod20i \bmod 20 个区间。

数据范围与提示

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

子任务 分值 附加限制
11 1111 n10,m15n \leq 10, m \leq 15
22 77 n100,yi1000n \leq 100, y_i \leq 1000
33 1313 n10000,yi1000n \leq 10000, y_i \leq 1000
44 1414 n1000,m10000n \leq 1000, m \leq 10000
55 5555 无附加限制