#4881. Inversion of Tree

0

Inversion of Tree

Inversion of Tree

题目描述

给定一个排列 P=(P1,P2,…,PN)P=(P_1,P_2,\ldots,P_N),它是 (1,2,…,N)(1,2,\ldots,N) 的一个置换。 对于每个 K=0,1,…,N−1K=0,1,\ldots,N-1,求满足以下条件的、顶点编号为 11 到 NN 的树的数量(模 998244353998244353)。

在树中被边直接连接的顶点对 (ui,vi) (ui<vi)(u_i,v_i)\ (u_i < v_i) 中,恰有 KK 个顶点对满足 Pui>PviP_{u_i}>P_{v_i}。

输入格式

输入格式(来自标准输入)如下: NN P1P_1 P2P_2 …\ldots PNP_N

输出格式

对于每个 K=0,1,…,N−1K=0,1,\ldots,N-1,输出满足条件的树的数量对 998244353998244353 取模后的值,数值之间用空格分隔。

3
1 3 2
1 2 0
10
3 1 4 10 8 6 9 2 7 5
294448 2989776 12112684 25422152 30002820 20184912 7484084 1397576 108908 2640

提示

2≤N≤5002\leq N\leq 500 PP 是 (1,2,…,N)(1,2,\ldots,N) 的一个置换。当 K=0K=0 时答案为 11:那棵树的边连接顶点 1,21,2 和 1,31,3。确实,P1<P2P_1 < P_2 且 P1<P3P_1<P_3。 当 K=1K=1 时答案为 22:一棵树的边连接顶点 1,21,2 和 2,32,3,另一棵的边连接顶点 1,31,3 和 2,32,3。确实,在边连接顶点 1,21,2 和 2,32,3 的树中,我们有 P1<P2P_1 < P_2,P2>P3P_2>P_3.

标签: AtCoder|abc323G

来源

AtCoder|abc323G