思路:由于A类元素和B类元素配对时不能有相同的值,那么我们分值域来考虑。对于A类元素中的值=x的这些元素,我们需要匹配B类元素里的非x值。匹配方案个数就是A类元素中x的个数乘以B类元素中非x的个数。答案就是所有值的方案的和。 为了快速查询B类/A类元素集合中某个值出现的次数,我们自然想到使用哈希表来统计。
def get_dict(arr):
有两个集合,分别包含 n 个 A 类元素和 n 个 B 类元素。第 i 个 A 类元素具有值 ai,第 j 个 B 类元素具有值 bj。现在要从 A 类中选取一个元素,从 B 类中选取一个元素,构成一个配对 (i,j)。如果 aieqbj,则称此配对为“有效配对”。请你计算所有可能的有效配对的总数。
约束:元素个数 n 满足 1≤n≤105,所有值 ai,bj 均为正整数且不超过 109。
第一行包含一个整数 n,表示每类元素的个数。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.