Logo Wy Online Judge

WyOJ

#776. 中二病也要修电缆

题目背景

在成功帮助小鸟游六花稳定了“不可视境界线”之后,富樫勇太原以为可以回归平静的日常生活。然而,六花却告诉他,由于“邪王真眼”的力量过于强大,导致蔚蓝城郊区沿河村庄的电缆线路发生了“魔力波动”,全部老化损坏。市长 SP 先生对此非常愤怒,决定重修所有电缆,并改日播放录像,杜绝此类情况再次发生。

河流两旁各有 $n$ 个和 $m$ 个村庄。每个村庄的位置可以用二维坐标表示,其中河流一侧的村庄横坐标均为 $x_1$,另一侧的村庄横坐标均为 $x_2$。任意两个村庄之间都可以沿直线修建一条电缆,长度即为两村庄的欧几里得距离。现在需要修建若干条电缆,使得任意两个村庄都可以通过电缆相连(即整个图连通)。由于经费与电缆总长度成正比,市长希望总长度尽可能小。

勇太虽然觉得很麻烦,但六花却认为这是“漆黑烈焰使”的使命。你能帮助他设计一套方案,使得电缆总长度最小吗?

题目描述

河流两岸各有一排村庄,左岸有 $n$ 个村庄,横坐标均为 $x_1$;右岸有 $m$ 个村庄,横坐标均为 $x_2$。所有村庄的纵坐标均为正整数且严格递增(同岸村庄按纵坐标排序后给出)。任意两个村庄之间可以修建电缆,长度为两点间的欧氏距离。

求使得所有村庄连通的最小电缆总长度,答案保留两位小数。

输入格式

第一行包含四个正整数 $n, m, x_1, x_2$,分别表示左岸村庄数、右岸村庄数、左岸横坐标、右岸横坐标。

第二行包含 $n$ 个正整数,描述左岸村庄的纵坐标。第一个数为纵坐标最小的村庄的纵坐标,从第二个数开始,每个数表示当前村庄与前一个村庄的纵坐标差,即 $y_1[i] - y_1[i-1]$。

第三行包含 $m$ 个正整数,以同样的差分方式描述右岸村庄的纵坐标。

输出格式

输出一行一个实数,表示最小电缆总长度,保留两位小数。

样例 #1

样例输入 #1

2 3 1 3
1 2
2 2 1

样例输出 #1

7.24

样例解释 #1

左岸村庄纵坐标:$1, 3$;右岸村庄纵坐标:$2, 4, 5$。
最优方案为:左岸两个村庄之间连接(长度 $2$),右岸三个村庄依次连接(长度 $2+1=3$),再选择一条最短的跨河电缆(连接左岸 $1$ 和右岸 $2$,长度 $\sqrt{(3-1)^2+(2-1)^2} = \sqrt{5} \approx 2.236$)。总长度为 $2+3+\sqrt{5} \approx 7.236$,保留两位小数为 $7.24$。

提示

本题共 $20$ 个测试点,各测试点规模如下:

测试点编号 $n$ 的范围 $m$ 的范围 特殊性质
$1\sim 4$ $[1,10]$ $[1,10]$ 无
$5\sim 8$ $[1,1000]$ $[1,1000]$ 无
$9\sim 14$ $[1,10^5]$ $[1,10^5]$ 无
$15\sim 20$ $[1,10^6]$ $[1,10^6]$ 无

对于 $100\%$ 的数据,$1 \le n,m \le 1.5\times 10^6$,所有村庄纵坐标均为不超过 $10^8$ 的正整数,$x_1 < x_2 < 2000$。

题目信息
  • 难度 UKE
  • 控制组 group_wxl
  • 时间限制 1 s
  • 空间限制 128 MB
  • 数据大小 9.626 MB
提交统计
  • 提交数 60
  • 通过数 9
  • 通过率 15%