P30003

曼哈顿最小生成树

难度 7 级 最小生成树 图论 树状数组
讨论 统计 1通过 1提交 100%通过率 旧版界面
时间限制 1 秒 内存限制 128 MB

题目描述

给定平面上的 n 个点 (x_1,y_1),(x_2,y_2),\ldots,(x_n,y_n)。

考虑一个有 n 个结点的完全图,对于 1\le u,v\le n(u\ne v),结点 u,v 之间有一条权值为 |x_u-x_v|+|y_u-y_v| 的边。

请求出该图的最小生成树。

输入

第一行输入一个整数 n 表示点的个数。

接下来 n 行,第 i 行输入两个整数 (x_i,y_i),表示第 i 个点的坐标。

输出

第一行包含一个整数 x 表示最小生成树的边权之和。

接下来 (n-1) 行,第 i 行包含两个整数 (u_i,v_i),表示最小生成树中的一条边。

样例

样例 1
输入
6
3 8
4 9
2 1
10 5
4 9
2 0
输出
21
5 2
6 3
1 2
3 1
4 1

提示

对于 20\% 的数据,1\le n\le 1000。

对于 100\% 的数据,1\le n\le 2\times 10^5,0\le x_i,y_i\le 10^9。

Tab 缩进 · 提交后可在下方查看评测状态
请先登录后再提交