#P9397. 「DBOI」Round 1 DTTM

「DBOI」Round 1 DTTM

题目背景

张则雨和穆制程坐在天台上看着满天的星辰。在他们的世界,流行一种连接星星的活动。他们对此有一种浪漫的诠释:如果连不完,剩下的一颗星星就是身旁的人;如果连得完,那身边的人和自己都是星星。

题目描述

星空中有 nn 颗星星,第 ii 颗位于坐标 (xi,yi)(x_i,y_i)。你需要把星星连接成满足张则雨的如下需求:

  • 每一颗星星都是且仅是一条线段的端点,所有线段互不相交(包括端点)。
  • 所有线段左右端点 xlxr|x_l-x_r| 之和有最小值。

然而张则雨有点笨,并不知道应该怎么连。穆制程知道你是地球上最聪明的人,于是告诉你 nn 颗星星的坐标,你需要输出连接方案或者报告无解。

输入格式

第一行 nn 表示星星的数量。

从第二行开始,共 nn 行,每行两个整数。第 i+1i+1 行表示第 ii 颗星星的 (xi,yi)(x_i,y_i) 坐标。

输出格式

第一行输出所有线段左右端点 xlxr|x_l-x_r| 的和的最小值。

接下来每一行输出两个编号,表示为了得到最小值,你每条线段连接的星星的编号。

如果有多种可能的连接方案,输出任意一种。如果无解在第一行输出 1-1

4
1 3
2 2
2 1
3 4
2
1 4
2 3
6
1 5
2 3
2 4
2 5
2 -1
3 -3
2
1 3
4 6
2 5

提示

样例 1 的方案如图:

样例 2 的方案如图:

本题使用捆绑测试与子任务依赖。

Subtask\rm Subtask nn\leqslant (x,y)(x,y) 特殊性质 得分 子任务依赖
11 1010 0x,y200\leqslant x,y\leqslant 20 1010
22 10310^3 0x,y1030\leqslant x,y\leqslant10^3 1515 11
33 0x,y1090\leqslant x,y\leqslant10^9 1,21,2
44 5×1055\times10^5 109x,y109-10^9\leqslant x,y\leqslant10^9 AA 55
55 103x,y103-10^3\leqslant x,y\leqslant10^3 2020 1,21,2
66 109x,y109-10^9\leqslant x,y\leqslant10^9 3535 1,2,3,4,51,2,3,4,5

特殊性质 AA:满足所有 xix_i 都相等。

保证对于 100%100\% 的数据,1n5×1051\leqslant n\leqslant5\times 10^50x,y1090\leqslant|x|,|y|\leqslant 10^9 且对于任意 iji\ne j,有 (xi,yi)(xj,yj)(x_i,y_i)\neq (x_j,y_j)