#P12495. [集训队互测 2024] 链覆盖

    ID: 12335 远端评测题 1500ms 1024MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>动态规划 DP集训队互测2024O2优化动态规划优化

[集训队互测 2024] 链覆盖

Description

  • 给定一颗 nn 个点的有根树,初始所有点均为白色。

  • 你可以执行不超过 kk 次操作,每次操作为选定一个点,把它到根简单路径上的所有点涂成黑色。

  • 求你最终最多能涂黑多少点。对 k=1nk=1 \sim n 分别求解。

记对于有标号有根树 TT,上述问题在 k=ik=i 时的答案为 ans(T,i)ans(T,i)

给定 n,modn,mod,对所有 1kn,1mn1 \le k \le n,1 \le m \le n,计算有多少不同的 nn 个点以 11 为根的有标号树 TT 满足 ans(T,k)=mans(T,k)=m。答案对 modmod 取模。

两颗有标号以 11 为根的树被认为是不同的,当且仅当它们的边集不同。

Input Format

一行两个整数 n,modn,mod

Output Format

输出 nn 行每行 nn 个整数,第 kk 行的第 mm 个整数表示满足 ans(T,k)=mans(T,k)=m 的不同的 nn 个点以 11 为根的有标号树 TT 的数量对 modmod 取模的结果。

2 998244353
0 1 
0 1
3 998244353
0 1 2 
0 0 3 
0 0 3
4 998244353
0 1 9 6 
0 0 1 15 
0 0 0 16 
0 0 0 16
5 998244353
0 1 40 60 24 
0 0 1 28 96 
0 0 0 1 124 
0 0 0 0 125 
0 0 0 0 125
6 998244353
0 1 195 560 420 120 
0 0 1 75 500 720 
0 0 0 1 75 1220 
0 0 0 0 1 1295 
0 0 0 0 0 1296 
0 0 0 0 0 1296

Hint

本题使用捆绑测试,你只有通过一个子任务的所有测试点,才能获得这个子任务的分数。

Subtask nn \le 分值
11 55 11
22 1010 99
33 2020 1010
44 3232 1515
55 4040 55
66 5050 1515
77 6565 55
88 8080
99 120120 1515
1010 300300 2020

对于所有数据:1n3001 \le n \le 300108mod1.05×10910^8 \le mod \le 1.05 \times 10^9,保证 modmod 是质数。