#CF2081D. 模图最小生成树

    ID: 6397 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>其他构造图结构贪心数论排序数据结构并查集树结构*2600

模图最小生成树

D. 模图最小生成树

题目翻译

给定一张包含 nn 个节点的完全无向图,第 ii 个节点拥有权值 pip_i

连接节点 xx 与节点 yy 的边权定义为:

w(x,y)=max(px,py)modmin(px,py)w(x,y) = \max(p_x,p_y) \bmod \min(p_x,p_y)

你需要求出选取 n1n-1 条边、将所有 nn 个节点连通的最小总边权,也就是这张图的最小生成树(MST)边权和


输入格式

每个测试点包含多组测试数据。 第一行一个整数 tt1t1041\le t\le 10^4),表示测试用例数量。

每组测试用例:

  • 第一行一个整数 nn1n51051\le n\le 5\cdot 10^5),表示节点数量;
  • 第二行 nn 个整数 p1,p2,,pnp_1,p_2,\dots,p_n1pi51051\le p_i\le 5\cdot 10^5),表示每个节点的权值。

保证:

  • 所有测试用例的 nn 之和不超过 51055\cdot 10^5
  • 所有测试用例的 max(p1,p2,,pn)\max(p_1,p_2,\dots,p_n) 之和不超过 51055\cdot 10^5

输出格式

对于每组测试用例,输出一行一个整数,表示最小生成树的总权值。


输入样例

4
5
4 3 3 4 4
10
2 10 3 2 9 9 4 6 4 6
12
33 56 48 41 89 73 99 150 55 100 111 130
7
11 45 14 19 19 8 10

输出样例

1
0
44
10

样例解释

第一个测试用例: 一种最优连边方案为 (1,2),(1,4),(1,5),(2,3)(1,2),(1,4),(1,5),(2,3)。 其中边 (1,2)(1,2) 的权值为:

max(4,3)modmin(4,3)=4mod3=1\max(4,3)\bmod \min(4,3)=4\bmod 3=1

其余所有边的权值均为 00,因此总权值为 11