AT_arc077_b.[ABC066D] 11

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个由 1,…,n1, \ldots, n 这 nn 个整数构成,长度为 n+1n+1 的数列 a1,a2,…,an+1a_1, a_2, \ldots, a_{n+1}。已知在这个数列中,1,…,n1, \ldots, n 的每个整数都至少出现过一次。

对于 k=1,…,n+1k=1, \ldots, n+1 的每一个 kk,求出长度为 kk 的(不一定连续的)子序列的不同个数,并输出对 109+710^9+7 取模的结果。

输入格式

输入通过标准输入以如下形式给出:

nn a1a_1 a2a_2 ... an+1a_{n+1}

输出格式

输出共 n+1n+1 行。第 kk 行输出长度为 kk 的子序列的不同个数,对 109+710^9+7 取模后的结果。

输入输出样例

  • 输入#1

    3
    1 2 1 3

    输出#1

    3
    5
    4
    1
  • 输入#2

    1
    1 1

    输出#2

    1
    1
  • 输入#3

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

    输出#3

    32
    525
    5453
    40919
    237336
    1107568
    4272048
    13884156
    38567100
    92561040
    193536720
    354817320
    573166440
    818809200
    37158313
    166803103
    166803103
    37158313
    818809200
    573166440
    354817320
    193536720
    92561040
    38567100
    13884156
    4272048
    1107568
    237336
    40920
    5456
    528
    33
    1

说明/提示

注意

  • 如果两个子序列作为数列完全相同,即使它们在原数列中的位置不同,也只计为一种。
  • 一个数列 aa 的长度为 kk 的子序列,是指从 aa 的元素中选出 kk 个,保持原有顺序排列而成的新数列。例如,数列 1,2,3,4,51,2,3,4,5 的长度为 33 的子序列有 1,3,51,3,5、1,2,31,2,3 等,而 3,1,23,1,2 或 1,10,1001,10,100 则不是该数列的子序列。

数据范围

  • 1≤n≤1051 \leq n \leq 10^5
  • 1≤ai≤n1 \leq a_i \leq n
  • 数列中每个整数 1,…,n1,\ldots,n 一定都会出现。
  • n,ain, a_i 均为整数。

样例解释 1

长度为 11 的子序列有 11、22、33 共 33 种。
长度为 22 的子序列有 1,11,1、1,21,2、1,31,3、2,12,1、2,32,3 共 55 种。
长度为 33 的子序列有 1,1,31,1,3、1,2,11,2,1、1,2,31,2,3、2,1,32,1,3 共 44 种。
长度为 44 的子序列只有 1,2,1,31,2,1,3 一种。

样例解释 2

长度为 11 的子序列只有 11 一种。
长度为 22 的子序列只有 1,11,1 一种。

样例解释 3

请注意需要对 109+710^9+7 取模后输出。

由 ChatGPT 5 翻译

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

首页