#CF2065D. Skibidus and Sigma

    ID: 6937 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>贪心排序CodeforcesCodeforces Round 1003(Div4)Div4DCF2065D1200

Skibidus and Sigma

题目描述

定义一个 kk 个元素的数组 bb 的分数为 i=1k(j=1ibj)\sum_{i=1}^{k}\left(\sum_{j=1}^{i}b_j\right),也就是说,设 SiS_i 表示数组 bb 的前 ii 个元素之和,则分数可以写作 S1+S2++SkS_1 + S_2 + \ldots + S_k

Skibidus 得到了 nn 个数组 a1,a2,,ana_1, a_2, \ldots, a_n,每个数组包含 mm 个元素。作为西格玛男人,他希望能将这 nn 个数组按任意顺序拼接成一个包含 nmn \cdot m 个元素的数组,以使最终得到的拼接数组的分数达到最大。请你帮助他计算拼接后能够获得的最大分数!

形式上地说,在所有可能的长度为 nn 的排列 pp 中, 求出数组 ap1+ap2++apna_{p_1} + a_{p_2} + \dots + a_{p_n} 的最大分数, 其中符号 ++ 表示数组拼接。

^{\text{∗}} 一个排列指的是一个包含 11nn 的所有整数且每个整数恰好出现一次的序列。
^{\text{∗}} 两个数组 ccdd(长度分别为 eeff)的拼接 c+dc+d 定义为 c1,c2,,ce,d1,d2,,dfc_1, c_2, \ldots, c_e, d_1, d_2, \ldots, d_f

输入格式

第一行包含一个整数 tt (1t1041 \leq t \leq 10^4),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nnmm (1nm21051 \leq n \cdot m \leq 2 \cdot 10^5),分别表示数组的个数和每个数组的长度。

接下来的 nn 行中,第 ii 行包含 mm 个整数 ai,1,ai,2,,ai,ma_{i,1}, a_{i,2}, \ldots, a_{i,m} (1ai,j1061 \leq a_{i,j} \leq 10^6),表示第 ii 个数组的元素。

保证所有测试用例中,nmn \cdot m 的总和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,输出一行一个整数,表示所有排列中拼接数组能够获得的最大分数。

样例

3
2 2
4 4
6 1
3 4
2 2 2 2
3 2 1 2
4 1 2 1
2 3
3 4 5
1 1 9
41
162
72

样例说明

在第一个测试用例中,有可能的两种排列:

  • p=[1,2]p = [1, 2],拼接后的数组为 ap1+ap2=[4,4,6,1]a_{p_1} + a_{p_2} = [4, 4, 6, 1],分数为 4+(4+4)+(4+4+6)+(4+4+6+1)=414 + (4+4) + (4+4+6) + (4+4+6+1) = 41
  • p=[2,1]p = [2, 1],拼接后的数组为 ap1+ap2=[6,1,4,4]a_{p_1} + a_{p_2} = [6, 1, 4, 4],分数为 6+(6+1)+(6+1+4)+(6+1+4+4)=396 + (6+1) + (6+1+4) + (6+1+4+4) = 39

因此,最大可能分数为 4141

在第二个测试用例中,一个最优的拼接结果为 [4,1,2,1,2,2,2,2,3,2,1,2][4,1,2,1,2,2,2,2,3,2,1,2],分数为 162162

来源

Codeforces 2065D,英文题名 Skibidus and Sigma。