AT_abc306_f [ABC306F] Merge Sets
题目描述
对于满足 A∩B=∅ 的两个整数集合 A,B,定义 f(A,B) 如下:
- 将 A∪B 中的元素按升序排列,得到数列 C=(C1,C2,…,C∣A∣+∣B∣)。
- 取 k1,k2,…,k∣A∣ 使得 A={Ck1,Ck2,…,Ck∣A∣}。此时,f(A,B)=∑i=1∣A∣ki。
例如,当 A={1,3},B={2,8} 时,C=(1,2,3,8),A={C1,C3},所以 f(A,B)=1+3=4。
现在有 N 个整数集合 S1,S2,…,SN,每个集合包含 M 个元素。对于每个 i (1≤i≤N),有 Si={Ai,1,Ai,2,…,Ai,M}。并且保证 Si∩Sj=∅ (i=j)。
请计算 1≤i<j≤N∑f(Si,Sj)。
输入格式
输入以如下格式从标准输入读入。
N M A1,1 A1,2 … A1,M
A2,1 A2,2 … A2,M
⋮
AN,1 AN,2 … AN,M
输出格式
请输出答案的整数值。
输入输出样例 #1
输入 #1
3 2
1 3
2 8
4 6
输出 #1
12
输入输出样例 #2
输入 #2
1 1
306
输出 #2
0
输入输出样例 #3
输入 #3
4 4
155374934 164163676 576823355 954291757
797829355 404011431 353195922 138996221
191890310 782177068 818008580 384836991
160449218 545531545 840594328 501899080
输出 #3
102
说明/提示
限制条件
- 1≤N≤104
- 1≤M≤102
- 1≤Ai,j≤109
- 若 i1=i2 或 j1=j2,则 Ai1,j1=Ai2,j2
- 输入均为整数
样例解释 1
S1,S2 分别与题目中示例的 A,B 相同,f(S1,S2)=1+3=4。f(S1,S3)=1+2=3,f(S2,S3)=1+4=5,因此 4+3+5=12 是答案。
由 ChatGPT 4.1 翻译