Merge Sets
题目描述
对于两个整数集合 A 和 B,且满足 A∩B=∅,我们定义 f(A,B) 如下。
设 C=(C1,C2,…,C∣A∣+∣B∣) 为由 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
⋮
AN,1 AN,2 … AN,M
输出格式
输出一个整数,表示答案。
3 2
1 3
2 8
4 6
12
1 1
306
0
4 4
155374934 164163676 576823355 954291757
797829355 404011431 353195922 138996221
191890310 782177068 818008580 384836991
160449218 545531545 840594328 501899080
102
提示
1≤N≤104
1≤M≤102
1≤Ai,j≤109
若 i1=i2 或 j1=j2,则 Ai1,j1=Ai2,j2。
所有输入值均为整数。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.
标签: AtCoder|abc306F
来源
AtCoder|abc306F