atcoder#AGC053E. [AGC053E] More Peaks More Fun

[AGC053E] More Peaks More Fun

配点 : 14001400

問題文

2N2N 枚のカードと NN 個の箱があります。 カードには 11 から 2N2N までの番号が付いており、箱には 11 から NN までの番号が付いています。 カードは各箱に 22 枚ずつ入っています。箱 ii にはカード AiA_i とカード BiB_i が入っています。

この NN 個の箱を一列に並べる方法であって、以下の条件を満たす並べ方の個数を 109+710^9+7 で割った余りを求めてください。

  • 箱を左から順に開けていき、入っている 22 枚のカードを末尾に好きな順で並べていくことで、長さ 2N2N のカードの列が得られる。左から jj 番目のカードの番号を PjP_j とする。このとき、カードをうまく並べることで、数列 P1,P2,,P2NP_1,P_2,\ldots, P_{2N} におけるピークの個数が N1N-1 となる。

ただし、数列 P1,P2,,P2NP_1,P_2,\ldots, P_{2N} におけるピークとは、 2j<2N2 \leq j < 2N なる整数 jj であって Pj1<PjP_{j-1} < P_j かつ Pj>Pj+1P_j > P_{j+1} となるものを指します。

制約

  • 1N2×1051 \leq N \leq 2\times 10^5
  • 1Ai,Bi2N1 \leq A_i, B_i \leq 2N
  • A1,,AN,B1,,BNA_1,\ldots,A_N,B_1,\ldots,B_N は相異なる。

入力

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

NN

A1A_1 B1B_1

::

ANA_N BNB_N

出力

答えを出力せよ。

3
1 3
2 4
5 6
4

例えば、箱 1,2,31,2,3 をこの順で並べたとき、 以下のようにカードを並べることで、数列 PP のピークの個数が 22 となります。

  • まず箱 11 に入っているカードをカード 1,31,3 の順で並べる。
  • 次に箱 22 に入っているカードをカード 2,42,4 の順で末尾に並べる。
  • 最後に箱 33 に入っているカードをカード 6,56,5 の順で末尾に並べる。

このとき、数列 PP(1,3,2,4,6,5)(1,3,2,4,6,5) となり j=2,5j=2,5 がピークとなります。

6
5 8
7 2
1 3
11 6
4 12
9 10
492
10
20 15
8 5
6 7
4 9
13 1
11 14
10 17
19 12
3 16
2 18
1411200