CF1630E.Expected Components

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Given a cyclic array aa of size nn , where aia_i is the value of aa in the ii -th position, there may be repeated values. Let us define that a permutation of aa is equal to another permutation of aa if and only if their values are the same for each position ii or we can transform them to each other by performing some cyclic rotation. Let us define for a cyclic array bb its number of components as the number of connected components in a graph, where the vertices are the positions of bb and we add an edge between each pair of adjacent positions of bb with equal values (note that in a cyclic array the first and last position are also adjacents).

Find the expected value of components of a permutation of aa if we select it equiprobably over the set of all the different permutations of aa .

输入格式

The input consists of multiple test cases. The first line contains a single integer tt ( 1t1051 \le t \le 10^5 ) — the number of test cases. Description of the test cases follows.

The first line of each test case contains a single integer nn ( 1n1061 \le n \le 10^6 ) — the size of the cyclic array aa .

The second line of each test case contains nn integers, the ii -th of them is the value aia_i ( 1ain1 \le a_i \le n ).

It is guaranteed that the sum of nn over all test cases does not exceed 10610^6 .

It is guaranteed that the total number of different permutations of aa is not divisible by MM

输出格式

For each test case print a single integer — the expected value of components of a permutation of aa if we select it equiprobably over the set of all the different permutations of aa modulo 998244353998\,244\,353 .

Formally, let M=998244353M = 998\,244\,353 . It can be shown that the answer can be expressed as an irreducible fraction pq\frac{p}{q} , where pp and qq are integers and q≢0(modM)q \not \equiv 0 \pmod{M} . Output the integer equal to pq1modMp \cdot q^{-1} \bmod M . In other words, output such an integer xx that 0x<M0 \le x < M and xqp(modM)x \cdot q \equiv p \pmod{M} .

输入输出样例

  • 输入#1

    5
    4
    1 1 1 1
    4
    1 1 2 1
    4
    1 2 1 2
    5
    4 3 2 5 1
    12
    1 3 2 3 2 1 3 3 1 3 3 2

    输出#1

    1
    2
    3
    5
    358642921

说明/提示

In the first test case there is only 11 different permutation of aa :

  • [1,1,1,1][1, 1, 1, 1] has 11 component.
  • Therefore the expected value of components is 11=1\frac{1}{1} = 1

In the second test case there are 44 ways to permute the cyclic array aa , but there is only 11 different permutation of aa :

  • [1,1,1,2][1, 1, 1, 2] , [1,1,2,1][1, 1, 2, 1] , [1,2,1,1][1, 2, 1, 1] and [2,1,1,1][2, 1, 1, 1] are the same permutation and have 22 components.
  • Therefore the expected value of components is 21=2\frac{2}{1} = 2

In the third test case there are 66 ways to permute the cyclic array aa , but there are only 22 different permutations of aa :

  • [1,1,2,2][1, 1, 2, 2] , [2,1,1,2][2, 1, 1, 2] , [2,2,1,1][2, 2, 1, 1] and [1,2,2,1][1, 2, 2, 1] are the same permutation and have 22 components.
  • [1,2,1,2][1, 2, 1, 2] and [2,1,2,1][2, 1, 2, 1] are the same permutation and have 44 components.
  • Therefore the expected value of components is 2+42=62=3\frac{2+4}{2} = \frac{6}{2} = 3

In the fourth test case there are 120120 ways to permute the cyclic array aa , but there are only 2424 different permutations of aa :

  • Any permutation of aa has 55 components.
  • Therefore the expected value of components is 24524=12024=5\frac{24\cdot 5}{24} = \frac{120}{24} = 5
首页