問題一覧 > 通常問題

No.3465 Lis! Lis! Lis!

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 2
作問者 : tyawanmusi / テスター : dyktr_06 hikikomori
ProblemId : 12950 / MMA Contest 021 (順位表) / 自分の提出
問題文最終更新日: 2026-02-15 20:13:31
MMA Contest 021の他の問題:

問題文

正整数 $N$ と、$M$ 個の整数の組 $(l_i, r_i, k_i)\ (1\le i\le M)$ が与えられます。各組は $1\le l_i < r_i \le N$、$1\le k_i \le N$ を満たします。

さらに、任意の整数 $p\ (1\le p\le N)$ について、条件 $l_i \le p \le r_i$ を満たす組 $(l_i, r_i, k_i)$ は高々 $2$ つです。

以下の条件を満たす長さ $N$ の数列 $A$ を一つ構築してください。構築が不可能な場合はそのことを報告してください。

  • $1 \le A_i \le N$
  • 全ての $i\ (1\le i\le M)$ について、 $A$ の連続部分列 $(A_{l_i},A_{l_i+1},\cdots,A_{r_i})$ の最長狭義増加部分列( LIS )の長さがちょうど $k_i$ である。

制約

  • 入力は全て整数
  • $2 \le N \le 2\times10^5$
  • $1 \le M \le N-1$
  • $1\le l_i < r_i \le N$
  • $1\le k_i \le N$
  • 任意の整数 $p\ (1\le p\le N)$ について、 $l_i \le p \le r_i$ を満たす組 $(l_i, r_i, k_i)$ は高々 $2$ 個

入力

入力は以下の形式で標準入力から与えられます。

$N\ M$
$l_1\ r_1\ k_1$
$l_2\ r_2\ k_2$
$\vdots$
$l_M\ r_M\ k_M$

出力

構築が可能な場合、以下のように一行目にYesを出力してください。その後、二行目に構築した数列 $A$ を空白区切りで出力してください。

Yes
$A_1\ A_2\ \cdots\ A_N$

構築が不可能な場合、以下のように一行目にNoを出力してください。

No

最後に改行してください。

サンプル

サンプル1
入力
6 4
1 3 2
4 6 2
2 4 3
5 6 1
出力
Yes
2 1 2 4 6 5
  • $(A_1,A_2,A_3)=(2,1,2)$ であり、 LIS の長さは $2$ であるためこの出力は $(l_1,r_1,k_1)$ からなる条件を満たします。
  • $(A_2,A_3,A_4)=(1,2,4)$ であり、 LIS の長さは $3$ であるためこの出力は $(l_3,r_3,k_3)$ からなる条件を満たします。

そのほか二つの条件も満たしているため、この出力は正しいです。別解として、 $A=(1,1,2,3,4,4)$ なども挙げられます。

サンプル2
入力
5 3
1 5 5
1 2 1
4 5 2
出力
No

条件を満たす数列 $A$ は存在しません。

サンプル3
入力
10 5
1 8 6
1 2 2
4 5 2
6 9 1
9 10 2
出力
Yes
1 2 3 4 5 6 6 6 6 7

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。