AT_KeioPC2025_l Many Max Streak Problems

题目描述

对连胜次数感兴趣的けむにく君出了一道如下题目。 > **Max Streak Problem** > > 给定正整数 $N, M$ 和长度为 $N$ 的数列 $W, L$。 > > 定义 $f(x)$ 为满足 $W_i = x$ 的所有 $i\ (1 \le i \le N)$,且不存在满足 $i < j \le N$ 且 $L_j = x$ 的 $j$ 的下标 $i$ 的个数。 > 现在,求 $\displaystyle \max_{1 \le x \le M} f(x)$。 > > 其中,给定的数列 $W, L$ 保证 $1 \le W_i, L_i \le M$ 且 $W_i \ne L_i$。 但はるるん君觉得这道题太简单,于是又想了如下问题。 > **Many Max Streak Problems** > > 作为 **Max Streak Problem** 输入的所有可能的 $W, L$ 序列对共有 $\big(M \times (M - 1)\big)^N$ 种。 > 对所有这些情况,计算 **Max Streak Problem** 的答案之和,再对 $P$ 取模。 请解答 **Many Max Streak Problems**。

输入格式

输入通过标准输入按如下格式给出。 > $N\ M\ P$

输出格式

输出答案。

说明/提示

## 部分分 本题包含部分分。 - 若你能对满足 $N, M \le 30$ 的情况给出正确答案,则可获得 $1$ 分。 ## 样例解释 1 所有可能的 $(W, L)$ 共有 $4$ 种。 - $((1, 1), (2, 2))$ 时,答案为 $2$。 - $((1, 2), (2, 1))$ 时,答案为 $1$。 - $((2, 1), (1, 2))$ 时,答案为 $1$。 - $((2, 2), (1, 1))$ 时,答案为 $2$。 因此,答案为 $6$。 ## 数据范围 - $1 \le N \le 300$ - $2 \le M \le 300$ - $10^8 \le P \le 10^9$ - $P$ 是素数 - 所有输入皆为整数。 由 ChatGPT 5 翻译