#P10005. [集训队互测 2023] 基础寄术练习题

    ID: 10913 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>集训队互测2023O2优化

[集训队互测 2023] 基础寄术练习题

题目描述

对于长度为 nn 的序列 aa,定义 f(a)=1∏i=knsif(a)=\dfrac{1}{\prod\limits_{i=k}^ns_i},其中 sis_i 为 {an}\{a_n\} 的前缀和数组,kk 是给定的常数且 1≤k≤21\le k\le 2。

考虑所有满足以下三个条件的序列 aa:

  • aa 的长度为 nn。
  • ∀i,j\forall i,j,ai≠aja_i\ne a_j。
  • 1≤ai≤m1\le a_i\le m。

求它们的 f(a)f(a) 之和,答案对 pp 取模。保证 pp 是一个质数。

输入格式

第一行四个整数 n,m,k,pn,m,k,p,分别代表序列长度,序列元素的上界和模数。

输出格式

一行一个整数表示答案对 pp 取模后的结果。

2 3 2 1000000007
966666675
3 5 2 998244353
148276980
6 10 2 1004535809
622165218
15 20 2 1064822107
53789887
30 40 1 265371653
179937201

提示

对于所有数据,保证 2≤n≤m≤1002\le n\le m\le 100,108<p<1.07×10910^8<p<1.07\times 10^9 且 pp 为质数,1≤k≤21\le k\le 2。

  • Subtask 1 (10 pts):m≤20m\le 20。
  • Subtask 2 (25 pts):k=1k=1。
  • Subtask 3 (15 pts):n=m≤30n=m\le 30。
  • Subtask 4 (10 pts):m≤30m\le 30。
  • Subtask 5 (15 pts):m≤40m\le 40。
  • Subtask 6 (10 pts):m≤70m\le 70。
  • Subtask 7 (15 pts):m≤100m\le 100。