1.5 KiB
1.5 KiB
还原排列
题目描述
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
个正整数,表示一个 0
到 n
的排列。
本题采用 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 方式。