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

88 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 还原排列
## 题目描述
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 方式。