AT_arc108_e.[ARC108E] Random IS

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 把椅子从左到右排成一行。第 ii 把椅子的 ID 为 aia_i。这里保证所有 aia_i 互不相同。

すぬけ君打算给若干把椅子做上标记,并丢弃没有被标记的椅子。开始时,所有椅子都没有被标记。若标记后的椅子 ID 从左到右单调递增,则称这种标记方式为“好标记方式”。

すぬけ君按照如下流程进行标记:

  1. 如果在椅子 xx 上新做标记后,标记方式仍然是好标记方式,则称椅子 xx 为“好椅子”。当前好椅子的数量为 kk。
  2. 若 k=0k=0,则丢弃所有未被标记的椅子,流程结束。否则,从 kk 把好椅子中等概率随机选择一把进行标记,然后回到步骤 1。

可以证明,流程结束时剩下的椅子数量的期望值是有理数。设其值为 P/QP/Q(既约分数)。又设 M=109+7M=10^9+7。此时,存在唯一的整数 RR,满足 0≤R<M0 \leq R < M 且 P≡Q×R(modM)P \equiv Q \times R \pmod{M}。可以证明 R=P×Q−1(modM)R = P \times Q^{-1} \pmod{M},其中 Q−1Q^{-1} 是 QQ 关于 MM 的模逆元。请计算 RR。

输入格式

输入为一行,格式如下:

N a1 a2 ⋯ aNN\ a_1\ a_2\ \cdots\ a_N

输出格式

输出 RR。

输入输出样例

  • 输入#1

    3
    3 1 2

    输出#1

    666666673
  • 输入#2

    30
    26 16 28 30 23 11 29 18 22 15 20 13 27 9 21 7 5 25 4 19 8 3 1 24 10 14 17 12 2 6

    输出#2

    297703424

说明/提示

限制条件

  • 所有输入均为整数。
  • 1≤N≤20001 \leq N \leq 2000
  • 1≤ai≤N1 \leq a_i \leq N
  • 所有 aia_i 互不相同。

样例解释 1

  • 如果最开始标记了椅子 11(ID 为 11 的椅子),最终剩下的椅子为 1,21,2,共 22 把。
  • 如果最开始标记了椅子 22,最终剩下的椅子为 1,21,2,共 22 把。
  • 如果最开始标记了椅子 33,最终剩下的椅子为 33,共 11 把。
  • 椅子被等概率选择,因此最终剩下椅子的期望数量为 53\frac{5}{3}。由于 5≡3×666666673(modM)5 \equiv 3 \times 666666673 \pmod{M},所以 R=666666673R=666666673。

由 ChatGPT 4.1 翻译

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

首页