AT_joisc2020_f.最古の遺跡 3 (Ruins 3)

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

[JOISC2020] 最古の遺跡 3

题目背景

JOI 教授是一名研究 IOI 王国的历史学家。

他发现了一行古代石柱的废墟及一份古代文献。

古代文献上的记载如下:

  • 刚建造完成的时候,有 2×N2\times N 个石柱,对于 1≤k≤N1\le k\le N 均有两个石柱高度为 kk,同时记第 ii 个石柱的高度为 hih_i。
  • 会发生 NN 次地震,每次地震会使一些石柱的高度 −1-1,其他石柱高度不变。
  • 石柱 ii 地震时高度不变,当且仅当 hi≥1h_i\ge 1 并且对于 j>ij>i 都要有 hi≠hjh_i\not=h_j
  • NN 次地震后,恰好只剩下了 NN 个石柱。

现在 JOI 教授找出了仅存的 NN 个石柱的位置 A1,A2,…,ANA_1,A_2,\ldots,A_N,他想让你求出,最初 2×N2\times N 个石柱高度的修建方案数  mod  109+7\bmod~10^9+7 的值。

输入格式

第一行为一个整数 NN。

接下来一行 NN 个数,表示 A1,A2,…,ANA_1,A_2,\ldots,A_N。

输出格式

仅一行一个整数,表示最初 2×N2\times N 个石柱高度的建造方案数  mod  109+7\bmod~10^9+7 的值。

样例 #1

样例输入 #1

3
3 4 6

样例输出 #1

5

样例 #2

样例输入 #2

1
1

样例输出 #2

0

样例 #3

样例输入 #3

10
5 8 9 13 15 16 17 18 19 20

样例输出 #3

147003663

说明/提示

样例解释

样例 1 解释

一种可行的解为 (2,2,3,3,1,1)(2,2,3,3,1,1)。

  • 第一次地震后,变为 (1,2,2,3,0,1)(1,2,2,3,0,1)。
  • 第二次地震后,变为 (0,1,2,3,0,1)(0,1,2,3,0,1)。
  • 第三次地震后,变为 (0,0,2,3,0,1)(0,0,2,3,0,1)。

另外四种解如下:

  • (2,3,2,3,1,1)(2,3,2,3,1,1)。
  • (2,3,3,2,1,1)(2,3,3,2,1,1)。
  • (3,2,2,3,1,1)(3,2,2,3,1,1).
  • (3,2,3,2,1,1)(3,2,3,2,1,1)。

样例 2 解释

对于 N=1N=1 的情况,显然只有 (1,1)(1,1) 一种修建方案,在一次地震后,会变为 (0,1)(0,1),11 号位置不可能有石柱。

样例 3 解释

共有 111147004440111147004440 种可能的修建方案,111147004440 mod 109+7=147003663111147004440 \bmod 10^9+7=147003663。

子任务

对于 100%100\% 的数据,保证 1≤N≤6001\le N\le 600,1≤Ai≤2×N1\le A_i\le 2\times N,Ai<Ai+1A_i< A_{i+1}。

Subtask 编号 N≤N\le 分数
11 1313 66
22 6060 5252
33 无 4242
本题译自 第 19 回日本情報オリンピック 春季トレーニング合宿 Day 2 T3 最古の遺跡 3。

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

首页