#P4579. [FJOI2018] 邮递员问题

    ID: 5320 远端评测题 1000ms 250MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>2018各省省选福建O2优化

[FJOI2018] 邮递员问题

题目描述

2010\text{2010} 年以来,网购市场发展迅速,快递公司成为促成交易成功的关键环节。小郭是一名顺丰快递员,他的工资主要包括底薪、送货提成、收件提成、其他福利补贴等。小郭每完成一件客户的快递单,一般能拿到运费 10%10\% 的提成。因此小郭完成的快递单越多越快,他的收入就越高。小郭负责城市中 22 个平行街道的所有快递业务。在这 22 个平行街道上有 22 处快递工作站。小郭每次投递的行程都是从一个工作站出发,完成所有快递单的投递后,回到另一个工作站。为了高效地完成投递任务,小郭希望用最短的行程来完成所有快递单的投递任务。也就是说,对于给定的 22 个平行街道的街距和 22 个工作站位置,以及所有投递点的位置,小郭要计算从一个工作站出发,完成所有快递单的投递后,回到另一个工作站的最短行程。街距是指 22 个平行街道的之间的垂直距离。如果设平面坐标系的 xx 轴与街道平行,且 22 个平行街道上的最左端位置的 xx 坐标均为 00,则 22 个平行街道上的任何位置可以用从街道最左端到该位置的直线距离,即该位置的 xx 坐标值来表示。

例如,设 22 个平行街道 A 和 B 的街距是 22。22 个工作站 S1S_1 ​​和 S2S_2​​ 的位置分别位于街道 A 的 x=1x=1 和街道 B 的 x=3x=3 处。另外有 22 个投递点 T1T_1 和 T2T_2​ 的位置分别位于街道 A 的 x=3x=3 和街道 B 的 x=1x=1 处,如图所示。小郭的任务就是要从工作站 S1S_1​​ 出发,完成在 T1T_1​​ 和 T2T_2​​ 处的快递单投递后,回到另一个工作站 S2S_2。

编程任务:对于给定的 22 个平行街道的街距和 22 个工作站位置,以及所有投递点的位置,计算从一个工作站出发,完成所有快递单的投递后,回到另一个工作站的最短行程。

输入格式

第 11 行有 22 个正整数 n,mn,m,1≤n,m≤100001 \le n,m \le 10000,分别表示 22 个平行街道 A 和 B 上的位置数(包括投递点的位置和工作站的位置)。位置编号为 A:1,2,…,n1,2,\ldots,n;B:1,2,…,m1,2,\ldots,m。

第 22 行有 44 个正整数 a,b,c,da,b,c,d,表示 22 个工作站位置分别为 (a,b)(a,b) 和 (c,d)(c,d)。a=0a=0 或 c=0c=0 表示相应的工作站在街道 AA,a=1a=1 或 c=1c=1 表示相应的工作站在街道 BB。bb 和 dd 分别表示工作站在相应的街道的位置号。例如,若 (a,b)=(0,3)(a,b)=(0,3) 表示第 11 个工作站位于街道 AA 上,其位置位于给出的街道 AA 的 nn 个位置的第 33 个位置。

第 33 行有 11 个实数 hh,表示 22 个平行街道的街距 (1≤h≤10)(1 \le h \le 10)。

第 44 行有 nn 个实数,表示街道 AA 上 nn 个位置的 xx 坐标 (1≤x<20000)(1 \le x < 20000)。

第 55 行有 mm 个实数,表示街道 BB 上 mm 个位置的 xx 坐标 (1≤x<20000)(1 \le x < 20000)。

输出格式

输出计算出的最短行程,保留 22 位小数。

2 2
0 1 1 2
2
1 3
1 3
6.83

提示

对于 10%10\% 的数据,n,m≤8n,m\le 8;

对于 30%30\% 的数据,n,m≤100n,m\le 100;

对于 50%50\% 的数据,n,m≤1000n,m\le 1000;

对于 100%100\% 的数据,n,m≤10000n,m\le 10000。