CF1750G.Doping

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

We call an array aa of length nn fancy if for each 1<in1 < i \le n it holds that ai=ai1+1a_i = a_{i-1} + 1 .

Let's call f(p)f(p) applied to a permutation ^\dagger of length nn as the minimum number of subarrays it can be partitioned such that each one of them is fancy. For example f([1,2,3])=1f([1,2,3]) = 1 , while f([3,1,2])=2f([3,1,2]) = 2 and f([3,2,1])=3f([3,2,1]) = 3 .

Given nn and a permutation pp of length nn , we define a permutation pp' of length nn to be kk -special if and only if:

  • pp' is lexicographically smaller ^\ddagger than pp , and
  • f(p)=kf(p') = k .

Your task is to count for each 1kn1 \le k \le n the number of kk -special permutations modulo mm .

^\dagger A permutation is an array consisting of nn distinct integers from 11 to nn in arbitrary order. For example, [2,3,1,5,4][2,3,1,5,4] is a permutation, but [1,2,2][1,2,2] is not a permutation ( 22 appears twice in the array) and [1,3,4][1,3,4] is also not a permutation ( n=3n=3 but there is 44 in the array).

^\ddagger A permutation aa of length nn is lexicographically smaller than a permutation bb of length nn if and only if the following holds: in the first position where aa and bb differ, the permutation aa has a smaller element than the corresponding element in bb .

输入格式

The first line contains two integers nn and mm ( 1n20001 \le n \le 2000 , 10m10910 \le m \le 10^9 ) — the length of the permutation and the required modulo.

The second line contains nn distinct integers p1,p2,,pnp_1, p_2, \ldots, p_n ( 1pin1 \le p_i \le n ) — the permutation pp .

输出格式

Print nn integers, where the kk -th integer is the number of kk -special permutations modulo mm .

输入输出样例

  • 输入#1

    4 666012
    1 3 4 2

    输出#1

    1 0 1 1
  • 输入#2

    3 10
    3 2 1

    输出#2

    1 2 2
  • 输入#3

    7 1000000000
    7 2 1 3 5 4 6

    输出#3

    1 6 40 201 705 1635 1854
  • 输入#4

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

    输出#4

    1 9 9 0 1 5 5 0 1 0

说明/提示

In the first example, the permutations that are lexicographically smaller than [1,3,4,2][1,3,4,2] are:

  • [1,2,3,4][1,2,3,4] , f([1,2,3,4])=1f([1,2,3,4])=1 ;
  • [1,2,4,3][1,2,4,3] , f([1,2,4,3])=3f([1,2,4,3])=3 ;
  • [1,3,2,4][1,3,2,4] , f([1,3,2,4])=4f([1,3,2,4])=4 .

Thus our answer is [1,0,1,1][1,0,1,1] .

In the second example, the permutations that are lexicographically smaller than [3,2,1][3,2,1] are:

  • [1,2,3][1,2,3] , f([1,2,3])=1f([1,2,3])=1 ;
  • [1,3,2][1,3,2] , f([1,3,2])=3f([1,3,2])=3 ;
  • [2,1,3][2,1,3] , f([2,1,3])=3f([2,1,3])=3 ;
  • [2,3,1][2,3,1] , f([2,3,1])=2f([2,3,1])=2 ;
  • [3,1,2][3,1,2] , f([3,1,2])=2f([3,1,2])=2 .

Thus our answer is [1,2,2][1,2,2] .

首页