CF2003D2.Turtle and a MEX Problem (Hard Version)

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

两个版本的问题是不同的。在这个版本的问题中,你不能选择同一个整数两次或更多次。只有当两个版本都解决时,才能进行 hack。

有一天,乌龟正在玩 nn 个序列。设第 ii 个序列的长度为 lil_i,则第 ii 个序列为 ai,1,ai,2,…,ai,lia_{i, 1}, a_{i, 2}, \ldots, a_{i, l_i}。

当乌龟在玩耍时,小猪给了他一个问题来解决。问题的陈述如下:

  • 最初有一个非负整数 xx。乌龟可以对这个整数执行任意次数(可能为零)的操作。
  • 在每次操作中,乌龟可以选择一个之前未被选择过的整数 ii(满足 1≤i≤n1 \le i \le n),并将 xx 设为 mex†(x,ai,1,ai,2,…,ai,li)\text{mex}^{\dagger}(x, a_{i, 1}, a_{i, 2}, \ldots, a_{i, l_i})。
  • 乌龟被要求找到答案,即在执行任意次数操作后 xx 的最大值。

乌龟轻松解决了上述问题。他定义 f(k)f(k) 为初始值 xx 为 kk 时上述问题的答案。

然后小猪给了乌龟一个非负整数 mm,并要求乌龟找出 ∑i=0mf(i)\sum\limits_{i = 0}^m f(i) 的值(即 f(0)+f(1)+…+f(m)f(0) + f(1) + \ldots + f(m) 的值)。不幸的是,他无法解决这个问题。请帮助他!

mex(c1,c2,…,ck)\text{mex}(c_1, c_2, \ldots, c_k) 定义为不在序列 cc 中出现的最小非负整数 xx。例如,mex(2,2,0,3)\text{mex}(2, 2, 0, 3) 是 11,mex(1,2)\text{mex}(1, 2) 是 00。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1041 \le t \le 10^4)。接下来是测试用例的描述。

每个测试用例的第一行包含两个整数 n,mn, m(1≤n≤2⋅105,0≤m≤1091 \le n \le 2 \cdot 10^5, 0 \le m \le 10^9)。

接下来的 nn 行每行包含若干个整数。第一个整数 lil_i(1≤li≤2⋅1051 \le l_i \le 2 \cdot 10^5)表示第 ii 个序列的长度,后面跟着 lil_i 个整数 ai,1,ai,2,…,ai,lia_{i, 1}, a_{i, 2}, \ldots, a_{i, l_i}(0≤ai,j≤1090 \le a_{i, j} \le 10^9)表示第 ii 个序列的元素。

保证所有测试用例中的 nn 之和不超过 2⋅1052 \cdot 10^5,并且所有测试用例中的 ∑li\sum l_i 之和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出一个整数 —— ∑i=0mf(i)\sum\limits_{i = 0}^m f(i) 的值。

输入输出样例

  • 输入#1

    6
    3 4
    2 0 2
    3 2 3 3
    4 7 0 1 5
    3 4
    5 0 2 0 4 11
    1 1
    5 1 3 0 3 3
    2 50
    2 1 2
    2 1 2
    1 1
    7 1 2 4 1 4 9 5
    4 114514
    2 2 2
    5 7 3 6 0 3
    3 0 1 1
    5 0 9 2 1 5
    5 1919810
    1 2
    2 324003 0
    3 1416324 2 1460728
    4 1312631 2 0 1415195
    5 1223554 192248 2 1492515 725556

    输出#1

    16
    18
    1281
    4
    6556785365
    1842836177961

说明/提示

在第一个测试用例中,当 xx 初始值为 22 时,乌龟可以选择 i=3i = 3 并将 xx 设为 mex(x,a3,1,a3,2,a3,3,a3,4)=mex(2,7,0,1,5)=3\text{mex}(x, a_{3, 1}, a_{3, 2}, a_{3, 3}, a_{3, 4}) = \text{mex}(2, 7, 0, 1, 5) = 3。可以证明乌龟无法使 xx 的值大于 33,因此 f(2)=3f(2) = 3。

可以看出 f(0)=3f(0) = 3,f(1)=3f(1) = 3,f(2)=3f(2) = 3,f(3)=3f(3) = 3,f(4)=4f(4) = 4。所以 f(0)+f(1)+f(2)+f(3)+f(4)=3+3+3+3+4=16f(0) + f(1) + f(2) + f(3) + f(4) = 3 + 3 + 3 + 3 + 4 = 16。

在第二个测试用例中,当 xx 初始值为 11 时,乌龟可以选择 i=1i = 1 并将 xx 设为 mex(x,a1,1,a1,2,a1,3,a1,4,a1,5)=mex(1,0,2,0,4,11)=3\text{mex}(x, a_{1, 1}, a_{1, 2}, a_{1, 3}, a_{1, 4}, a_{1, 5}) = \text{mex}(1, 0, 2, 0, 4, 11) = 3。可以证明乌龟无法使 xx 的值大于 33,因此 f(1)=3f(1) = 3。

可以看出 f(0)=4f(0) = 4,f(1)=3f(1) = 3,f(2)=4f(2) = 4,f(3)=3f(3) = 3,f(4)=4f(4) = 4。所以 f(0)+f(1)+f(2)+f(3)+f(4)=4+3+4+3+4=18f(0) + f(1) + f(2) + f(3) + f(4) = 4 + 3 + 4 + 3 + 4 = 18。

在第四个测试用例中,可以看出 f(0)=3f(0) = 3 和 f(1)=1f(1) = 1。所以 f(0)+f(1)=3+1=4f(0) + f(1) = 3 + 1 = 4。

输入解题思路,AI测评打分。不知道怎么写?

首页