CF2030E.MEXimize the Score
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
假设我们将数组 b 的元素划分为任意数量 k 个非空多重集 S1,S2,…,Sk,其中 k 是任意正整数。定义 b 的得分为所有可能划分下 MEX(S1)+MEX(S2)+…+MEX(Sk) 的最大值。
Envy 给你一个长度为 n 的数组 a。由于他知道你计算 a 的得分太容易了,因此他要求你计算 a 的所有 2n−1 个非空子序列的得分之和。由于答案可能很大,请你输出其对 998244353 取模的结果。
MEX(Minimum EXcluded number)是指在一组整数 c1,c2,…,ck 中未出现的最小非负整数。例如,MEX([0,1,2,2])=3,MEX([1,2,2])=0。
一个序列 x 是序列 y 的子序列,如果 x 可以通过从 y 中删除若干(可能为零或全部)元素得到。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105),表示数组 a 的长度。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(0≤ai<n),表示数组 a 的元素。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每个测试用例,输出一个答案,对 998244353 取模。
输入输出样例
输入#1
4 3 0 0 1 4 0 0 1 1 5 0 0 1 2 2 4 1 1 1 1
输出#1
11 26 53 0
说明/提示
在第一个测试用例中,我们需要考虑七个子序列:
- [0]:得分为 1。
- [0]:得分为 1。
- [1]:得分为 0。
- [0,0]:得分为 2。
- [0,1]:得分为 2。
- [0,1]:得分为 2。
- [0,0,1]:得分为 3。
因此,第一个测试用例的答案为 1+1+2+2+2+3=11。在最后一个测试用例中,所有子序列的得分均为 0。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?