bdfz_2024_summer/day3/T490194/T490194.md
2024-08-04 08:10:26 +08:00

1.5 KiB
Raw Blame History

还原排列

题目描述

Alice有一个 0\sim n 的排列 $p$,她告诉你 m 条信息,每条信息形如 $(l,r,val)$,表示区间 [l,r]{\rm mex} 值为 $val$。

  • 一个区间的 {\rm mex} 值是最小的没有在这个区间中出现的自然数。

你想要猜出Alice的排列 $p$,或声明无解。

输入格式

第一行两个整数 n 和 $m$。

随后 m 行每行三个整数 l,r,val 描述一条信息,表示区间 [l,r]{\rm mex} 值为 $val$。

输出格式

如果不存在满足所有条件的排列,输出 $-1$。

否则输出一行 n+1 个正整数,表示一个 0n 的排列。

本题采用 Special Judge。如果满足条件的排列有多个,你可以输出任意一个。

样例 #1

样例输入 #1

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

样例输出 #1

3 0 1 2

样例 #2

样例输入 #2

5 7
0 1 0
4 5 0
1 3 1
0 5 6
0 5 6
2 5 3
2 3 1

样例输出 #2

4 3 5 0 1 2

样例 #3

样例输入 #3

见下发样例

样例输出 #3


提示

对于所有的数据满足:$1 \le n,m\le 5\times 10^5$$ 0\le l,r\le n$$0\le val\le n+1$。

  • Subtask 1(15 points)$n,m\le 10$
  • Subtask 2(20 points)$n,m\le 20$
  • Subtask 3(10 points)$val=0$
  • Subtask 4(15 points):排列和区间边界都随机生成;
  • Subtask 5(10 points)$n\le 10^5$
  • Subtask 6(30 points):无特殊限制。

请注意使用效率较高的 IO 方式。