P13083 [NOISG 2017] RMQ
题目背景
译自 [NOISG 2017 D.RMQ](https://github.com/noisg/sg_noi_archive/tree/master/2017/rmq)。
题目描述
小 K 有 $N$ 头奶牛,编号分别为 $0$ 至 $N-1$。这些奶牛以某种未知的顺序排成了一排。
现在给出 $Q$ 条信息,每条信息包含三个整数 $L_i,R_i,A_i$,表示区间 $[L_i,R_i]$ 内编号最小的奶牛的编号为 $A_i$。请你构造一组奶牛的顺序使得其可以满足所有信息。
输入格式
第一行两个正整数 $N,Q$,分别表示奶牛数和信息数。
接下来 $Q$ 行,每行三个整数 $L_i,R_i,A_i$,代表一条信息。
输出格式
一行 $N$ 个整数表示你构造的奶牛的顺序。如果有多个解,输出任意一个即可。如果无解,输出 $N$ 个 $-1$。
说明/提示
### 样例解释
对于样例 1,请注意这不是唯一满足要求的顺序。
对于样例 2,如果 $0$ 号奶牛在 $0$ 号位置或者 $1$ 号位置,那么区间 $[0,1]$ 的最小值应为 $0$ 而非 $1$;如果 $0$ 号奶牛在 $2$ 号位置,那么区间 $[1,1]$ 的最小值应为 $0$ 而非 $1$。因此,不存在符合要求的顺序。
### 评分标准
对于一个测试点:
- 如果你的输出满足以下要求,你将获得该测试点所有的分数:
- 输出 $N$ 个数。
- 该测试点无解,并且你也判断无解。
- 该测试点有解,并且你构造的顺序满足所有信息而且没有奶牛编号相同。
- 如果你的输出满足以下要求,你将获得该测试点 $30\%$ 的分数:
- 输出 $N$ 个数。
- 你构造的顺序满足所有信息但是有奶牛编号相同。
- 否则你将获得该测试点 $0\%$ 的分数。
例如,对于样例 2,如果你输出 `1 1 1`,那么你将获得该点 $30\%$ 的分数。
### 数据范围
**本题采用 $\text{Subtask}$ 捆绑测试。**
|$\text{Subtask}$|分值|$N,Q$|
|:-:|:-:|:-:|
|$1$|$23$|$\le10$|
|$2$|$44$|$\le1000$|
|$3$|$33$|$\le10^5$|
对于所有数据,保证 $1\le N,Q\le10^5$,$0\le L_i,R_i< N$,$0\le A_i< N$。