CF1408G.Clusterization Counting
省选/NOI-
通过率:0%
时间限制:3.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There are n computers in the company network. They are numbered from 1 to n.
For each pair of two computers 1≤i<j≤n you know the value ai,j: the difficulty of sending data between computers i and j. All values ai,j for i<j are different.
You want to separate all computers into k sets A1,A2,…,Ak, such that the following conditions are satisfied:
- for each computer 1≤i≤n there is exactly one set Aj, such that i∈Aj;
- for each two pairs of computers (s,f) and (x,y) (s=f, x=y), such that s, f, x are from the same set but x and y are from different sets, as,f<ax,y.
For each 1≤k≤n find the number of ways to divide computers into k groups, such that all required conditions are satisfied. These values can be large, so you need to find them by modulo 998244353.
公司网络中有 n 台计算机,编号为 1 到 n。
对于每一对满足 1≤i<j≤n 的计算机,已知一个值 ai,j:表示在计算机 i 与 j 之间传输数据的难度。所有满足 i<j 的 ai,j 值互不相同。
你需要将全部计算机划分为 k 个集合 A1,A2,…,Ak,使得以下条件成立:
- 对于每台计算机 1≤i≤n,恰好存在一个集合 Aj,使得 i∈Aj;
- 对于任意两对计算机 (s,f) 和 (x,y)(其中 s=f,x=y),若 s、f、x 属于同一集合,而 x 与 y 属于不同集合,则必有 as,f<ax,y。
对每个 1≤k≤n,求出将计算机划分为 k 个组、且满足上述所有条件的方案数。答案可能很大,因此需对 998244353 取模。
输入格式
The first line contains a single integer n (1≤n≤1500): the number of computers.
The i-th of the next n lines contains n integers ai,1,ai,2,…,ai,n(0≤ai,j≤2n(n−1)).
It is guaranteed that:
- for all 1≤i≤n ai,i=0;
- for all 1≤i<j≤n ai,j>0;
- for all 1≤i<j≤n ai,j=aj,i;
- all ai,j for i<j are different.
第一行包含一个整数 n(1≤n≤1500):计算机的数量。
接下来的 n 行中,第 i 行包含 n 个整数 ai,1,ai,2,…,ai,n(0≤ai,j≤2n(n−1))。
保证满足以下条件:
- 对所有 1≤i≤n,有 ai,i=0;
- 对所有 1≤i<j≤n,有 ai,j>0;
- 对所有 1≤i<j≤n,有 ai,j=aj,i;
- 所有满足 i<j 的 ai,j 互不相同。
输出格式
Print n integers: the k-th of them should be equal to the number of possible ways to divide computers into k groups, such that all required conditions are satisfied, modulo 998244353.
输出 n 个整数:其中第 k 个整数应等于将计算机划分为 k 个组的方案数(需满足所有给定条件),并对 998244353 取模。
输入输出样例
输入#1
4 0 3 4 6 3 0 2 1 4 2 0 5 6 1 5 0
输出#1
1 0 1 1
输入#2
7 0 1 18 15 19 12 21 1 0 16 13 17 20 14 18 16 0 2 7 10 9 15 13 2 0 6 8 11 19 17 7 6 0 4 5 12 20 10 8 4 0 3 21 14 9 11 5 3 0
输出#2
1 1 2 3 4 3 1
说明/提示
Here are all possible ways to separate all computers into 4 groups in the second example:
- 1,2,3,4,5,6,7;
- 1,2,3,4,5,6,7;
- 1,2,3,4,5,6,7.
第二个示例中,将所有计算机划分为 4 组的所有可能方式如下:
- 1,2,3,4,5,6,7;
- 1,2,3,4,5,6,7;
- 1,2,3,4,5,6,7。
输入解题思路,AI测评打分。不知道怎么写?