P11024 [COTS 2020] 定序 Redoslijed

题目背景

译自 [Izborne Pripreme 2020 (Croatian IOI/CEOI Team Selection)](https://hsin.hr/pripreme2020/) D1T2。$\texttt{4s,0.5G}$。 鸣谢:SPJ by @[mygr](https://www.luogu.com.cn/user/739552)

题目描述

在一块长 $N\,\mathrm{m}$ 的木板上画画。木板被从左往右划分成 $N$ 个格子,每个格子长 $1\,\mathrm{m}$。 现在已知在木板上涂了 $M$ 笔,第 $i$ 笔将第 $l_i\sim r_i$ 个格子涂成颜色 $c_i$。 给定最后涂色后木板的状态,试构造一种操作顺序使得一次操作后木板的状态为给定状态,或报告无解。

输入格式

第一行,两个正整数 $N,M$。 接下来 $M$ 行,每行三个整数 $l_i,r_i,c_i$,描述一个涂色操作。 接下来一行,$N$ 个整数,第 $i$ 个整数表示第 $i$ 个格子最后的颜色 $b_i$。**特别地,若 $b_i=0$,代表 $b_i$ 未被着色。**

输出格式

如果无解,输出 $\texttt{NE}$(克罗地亚语「否」)。 否则第一行输出 $\texttt{DA}$(克罗地亚语「是」);第二行输出一个 $1\sim M$ 的排列表示涂色顺序。 若有多解,任意均可。

说明/提示

对于 $100\%$ 的数据,保证: - $1\le N,M\le 5\times 10^5$; - $1\le l_i\le r_i\le N$; - $1\le c_i\le 5\times 10^5$; - $0\le b_i\le 5\times 10^5$。 | 子任务编号 | $N\le $ | 特殊性质 | 得分 | | :--: | :--: | :--: | :--: | | $ 1 $ | $9$ | |$ 5 $ | | $ 2 $ | $5\,000$ | A |$ 10 $ | | $ 3 $ | $5\times 10^5$ | A |$ 25 $ | | $ 4 $ | $5\, 000$ || $ 12 $ | | $ 5 $ | $5\times 10^5$ | B| $ 16 $ | | $ 6 $ | $5\times 10^5$ || $ 32 $ | - 特殊性质 A:$c_i$ 两两不同。 - 特殊性质 B:$1\le c_i\le 5$。