luogu#P8555. 嘘月
嘘月
题目背景
“我早已认不出你的眼睛,也没有在想念你的面容;
你还是没有说出再见,就化作黑夜离开了。”
赫尔德看着潮水,忽觉这不断上涨的潮水就像是持续上升的热情,它维持着热恋的时间,而激动的情绪又带给我们更多的热情。但是初识的热情终会逐渐平淡,又有多少人能在冷却的心跳中找到其中不变的节奏,走完这一生呢?
题目描述
赫尔德想对上面的问题进行探究,她想先做一些统计,于是她抽象了这个问题。
对于一个长为 的排列,我们维护一个下标 ,初始 。
重复以下过程:
- 从下标在 的元素中选一个没标记过的,并将其标记。若标记的数比上一次标记的数大且 ,则 自增 ;否则结束此过程。在你进行第一次标记前,上一次标记的数视为 。
我们称这样的排列是好的:
- 存在某种方法,使得在经过若干次操作后,。
现在,给定 ,求长为 的好的排列在所有长为 的排列中所占比例,对 取模。换言之,若长为 的好的排列一共有 个,你需要输出 取模 的结果。如果你不理解有理数的取模,可以看这道题目。
有 次询问,每次给出一个 。
输入格式
第一行两个正整数 。
第二行 个正整数,表示每次询问的 。保证询问升序且两两不同。
输出格式
对于每次询问一行一个整数表示答案对 取模的值。
5 3
1 2 3
291154603
249561089
1
50 5
4 7 9 14 17
344293672
864377042
192544332
688054502
97923957
提示
【样例解释 #1】
可以使得 的排列的数量分别为 ,排列总共有 种,所以分别需要输出 。取模后即为样例输出中的答案。
时,以下是所有可以使得 的排列:
$$\{1,2,3,4,5\},\{2,3,4,5,1\},\{1,3,4,5,2\},\{1,2,4,5,3\},\{1,2,3,5,4\} $$时,列出了一些可以使得 的排列:
和一些不能使得 的排列:
【数据范围】
保证 ,,询问的 互不相同且升序排列。
$$\def{\arraystretch}{1.5} \begin{array}{c|c|c|c}\hline \textbf{子任务编号}&\bm{~~~~~~~n\le~~~~~~~}&\textbf{~~~特殊限制~~~}&\textbf{~~分数~~}\cr\hline \textsf1 & 5 &&7\cr\hline \textsf2 & 200&&23\cr\hline \textsf3 & 2\times 10^4 &m_i=1& 9\cr \hline \textsf4 & 2\times 10^4 &2m_i\ge n& 3\cr \hline \textsf5 & 2\times 10^4 &&12\cr\hline \textsf6 & &q=1&36\cr\hline \textsf7 & &&10\cr\hline \end{array} $$提示: 能跑挺多点的。