CF1806D.DSU Master

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an integer nn and an array aa of length n1n-1 whose elements are either 00 or 11 .

Let us define the value of a permutation ^\dagger pp of length m1m-1 ( mnm \leq n ) by the following process.

Let GG be a graph of mm vertices labeled from 11 to mm that does not contain any edges. For each ii from 11 to m1m-1 , perform the following operations:

  • define uu and vv as the (unique) vertices in the weakly connected components ^\ddagger containing vertices pip_i and pi+1p_i+1 respectively with only incoming edges ^{\dagger\dagger} ;
  • in graph GG , add a directed edge from vertex vv to uu if api=0a_{p_i}=0 , otherwise add a directed edge from vertex uu to vv (if api=1a_{p_i}=1 ).

Note that after each step, it can be proven that each weakly connected component of GG has a unique vertex with only incoming edges.Then, the value of pp is the number of incoming edges of vertex 11 of GG .

For each kk from 11 to n1n-1 , find the sum of values of all k!k! permutations of length kk . Since this value can be big, you are only required to compute this value under modulo 998244353998\,244\,353 .

Operations when n=3n=3 , a=[0,1]a=[0,1] and p=[1,2]p=[1,2] ^\dagger A permutation of length nn is an array consisting of nn distinct integers from 11 to nn in arbitrary order. For example, [2,3,1,5,4][2,3,1,5,4] is a permutation, but [1,2,2][1,2,2] is not a permutation ( 22 appears twice in the array), and [1,3,4][1,3,4] is also not a permutation ( n=3n=3 but there is 44 in the array).

^\ddagger The weakly connected components of a directed graph is the same as the components of the undirected version of the graph. Formally, for directed graph GG , define a graph HH where for all edges aba \to b in GG , you add an undirected edge aba \leftrightarrow b in HH . Then the weakly connected components of GG are the components of HH .

^{\dagger\dagger} Note that a vertex that has no edges is considered to have only incoming edges.

输入格式

The first line contains a single integer tt ( 1t1041\le t\le 10^4 ) — the number of test cases. The description of test cases follows.

The first line of each test case contains a single integer nn ( 2n51052\le n\le 5 \cdot 10^5 ).

The second line of each test case contains n1n-1 integers a1,a2,,an1a_1, a_2, \ldots, a_{n-1} ( aia_i is 00 or 11 ).

It is guaranteed that the sum of nn over all test cases does not exceed 51055 \cdot 10^5 .

输出格式

For each test case, output n1n-1 integers in a line, the ii -th integer should represent the answer when k=ik=i , under modulo 998244353998\,244\,353 .

输入输出样例

  • 输入#1

    2
    3
    0 0
    9
    0 1 0 0 0 1 0 0

    输出#1

    1 3 
    1 2 7 31 167 1002 7314 60612

说明/提示

Consider the first test case.

When k=1k=1 , there is only 11 permutation pp .

  • When p=[1]p=[1] , we will add a single edge from vertex 22 to 11 . Vertex 11 will have 11 incoming edge. So the value of [1][1] is 11 .

Therefore when k=1k=1 , the answer is 11 .

When k=2k=2 , there are 22 permutations pp .

  • When p=[1,2]p=[1,2] , we will add an edge from vertex 22 to 11 and an edge from 33 to 11 . Vertex 11 will have 22 incoming edges. So the value of [1,2][1,2] is 22 .
  • When p=[2,1]p=[2,1] , we will add an edge from vertex 33 to 22 and an edge from 22 to 11 . Vertex 11 will have 11 incoming edge. So the value of [2,1][2,1] is 11 .

Therefore when k=2k=2 , the answer is 2+1=32+1=3 .

首页