#P17227. [2025年南开中学集训]分要真的

    ID: 16386 传统题 2000ms 1024MiB 尝试: 1 已通过: 1 难度: 8 上传者: 标签>组合数学动态规划数学算法基础模拟CF2500

[2025年南开中学集训]分要真的

分要真的

题目描述

橙子最近在研究图论问题,她刚刚学习了割边的概念,然后随手画了一张点带标号的简单无向连通图(简单无向图指无重边、自环的无向图),数出了这张图中割边的数量。

她告诉你这张图的节点数量 nn 和割边数量 kk,并且告诉你这张图无重边无自环连通,希望你求出她画的图有多少种不同的可能。两张图不同,当且仅当至少存在一对节点 i,ji,j,恰好在一张图中节点 i,ji,j 间有边。

给定 NN,你需要对所有 1nN1\le n\le N0kn10\le k\le n-1 求出答案,对给定的模数取模。

输入格式

一行三个整数 N,P,BN,P,B,分别表示节点数量上限、模数、一个与输出答案有关的参数。

输出格式

输出 NN 行,每行一个整数。设 F(n,k)F(n,k) 表示 nn 个节点、kk 条割边时的答案(对 PP 取模后的结果),第 ii 行你需要输出 $(F(i,0)\oplus B)\oplus\bigl(2(F(i,1)\oplus B)\bigr)\oplus\bigl(3(F(i,2)\oplus B)\bigr)\oplus\cdots\oplus\bigl(i(F(i,i-1)\oplus B)\bigr)$,其中 xyx\oplus y 表示 x,yx,y 的异或运算,注意这里运算时没有取模。

样例输入 1

5 998244353 114514

样例输出 1

114515
180724
523268
65818
637300

样例解释

下表第 ii 行第 jj 个数表示 F(i,j1)F(i,j-1) 的值:

1
0 1
1 0 3
10 12 0 16
253 200 150 0 125

数据范围

对于所有数据:1n5001\le n\le500108P1.01×10910^8\le P\le1.01\times10^9PP 是质数,0B<2300\le B<2^{30}

本题采用捆绑测试,并且开启所有合理的子任务依赖。

子任务 分值 附加限制
1 5 n5n\le5
2 10 n15n\le15
3 n30n\le30
4 15 n50n\le50
5 10 n100n\le100
6 20 n200n\le200
7 30 n500n\le500

提示

注意取模优化。