CF1750G.Doping
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
We call an array a of length n fancy if for each 1<i≤n it holds that ai=ai−1+1 .
Let's call f(p) applied to a permutation † of length n as the minimum number of subarrays it can be partitioned such that each one of them is fancy. For example f([1,2,3])=1 , while f([3,1,2])=2 and f([3,2,1])=3 .
Given n and a permutation p of length n , we define a permutation p′ of length n to be k -special if and only if:
- p′ is lexicographically smaller ‡ than p , and
- f(p′)=k .
Your task is to count for each 1≤k≤n the number of k -special permutations modulo m .
† A permutation is an array consisting of n distinct integers from 1 to n in arbitrary order. For example, [2,3,1,5,4] is a permutation, but [1,2,2] is not a permutation ( 2 appears twice in the array) and [1,3,4] is also not a permutation ( n=3 but there is 4 in the array).
‡ A permutation a of length n is lexicographically smaller than a permutation b of length n if and only if the following holds: in the first position where a and b differ, the permutation a has a smaller element than the corresponding element in b .
输入格式
The first line contains two integers n and m ( 1≤n≤2000 , 10≤m≤109 ) — the length of the permutation and the required modulo.
The second line contains n distinct integers p1,p2,…,pn ( 1≤pi≤n ) — the permutation p .
输出格式
Print n integers, where the k -th integer is the number of k -special permutations modulo m .
输入输出样例
输入#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] are:
- [1,2,3,4] , f([1,2,3,4])=1 ;
- [1,2,4,3] , f([1,2,4,3])=3 ;
- [1,3,2,4] , f([1,3,2,4])=4 .
Thus our answer is [1,0,1,1] .
In the second example, the permutations that are lexicographically smaller than [3,2,1] are:
- [1,2,3] , f([1,2,3])=1 ;
- [1,3,2] , f([1,3,2])=3 ;
- [2,1,3] , f([2,1,3])=3 ;
- [2,3,1] , f([2,3,1])=2 ;
- [3,1,2] , f([3,1,2])=2 .
Thus our answer is [1,2,2] .