AT_agc053_e.[AGC053E] More Peaks More Fun

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 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} 中的“峰值”个数恰好为 N−1N-1。

这里,数列 P1,P2,…,P2NP_1,P_2,\ldots,P_{2N} 中的“峰值”指的是满足 2≤j<2N2\leq j<2N,且 Pj−1<PjP_{j-1}<P_j 且 Pj>Pj+1P_j>P_{j+1} 的整数 jj。

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 B1B_1 :: ANA_N BNB_N

输出格式

输出满足条件的排列方案数。

输入输出样例

  • 输入#1

    3
    1 3
    2 4
    5 6

    输出#1

    4
  • 输入#2

    6
    5 8
    7 2
    1 3
    11 6
    4 12
    9 10

    输出#2

    492
  • 输入#3

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

    输出#3

    1411200

说明/提示

限制

  • 1≤N≤2×1051\leq N\leq 2\times 10^5
  • 1≤Ai,Bi≤2N1\leq A_i,B_i\leq 2N
  • A1,…,AN,B1,…,BNA_1,\ldots,A_N,B_1,\ldots,B_N 互不相同。

样例解释 1

例如,将盒子 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 是峰值。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页