#P8731. [蓝桥杯 2020 国 AB] 出租车

    ID: 7843 Type: RemoteJudge 2000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>2020图论建模最短路蓝桥杯国赛

[蓝桥杯 2020 国 AB] 出租车

题目背景

小蓝在 LL 市开出租车。

题目描述

LL 市的规划很规整,所有的路都是正东西向或者正南北向的,道路都可以看成直线段。东西向的道路互相平行, 南北向的道路互相平行,任何一条东西向道路垂直于任何一条南北向道路。

从北到南一共有 nn 条东西向道路,依次标号为 H1,H2,,HnH_{1}, H_{2}, \cdots, H_{n} 。从西到东 一共有 mm 条南北向的道路,依次标号为 S1,S2,,SmS_{1}, S_{2}, \cdots, S_{m}

每条道路都有足够长,每一条东西向道路和每一条南北向道路都相交,HiH_{i}SjS_{j} 的交叉路口记为 (i,j)(i, j)

H1H_{1}S1S_{1} 的交叉路口 (1,1)(1,1) 开始,向南遇到的路口与 (1,1)(1,1) 的距离分别 是 h1,h2,,hn1h_{1}, h_{2}, \cdots, h_{n-1},向东遇到路口与 (1,1)(1,1) 的距离分别是 w1,w2,,wm1w_{1}, w_{2}, \cdots, w_{m-1}

道路的每个路口都有一个红绿灯。

时刻 00 的时候,南北向绿灯亮,东西向红灯亮,南北向的绿灯会持续一段时间(每个路口不同),然后南北向变成红灯,东西向变成绿灯,持续一段时间后,再变成南北向绿灯,东西向红灯。

已知路口 (i,j)(i, j) 的南北向绿灯每次持续的时间为 gijg_{i j}, 东西向的绿灯每次持续的时间为 rijr_{i j}, 红绿灯的变换时间忽略。

当一辆车走到路口时,如果是绿灯,可以直行、左转或右转。如果是红灯,可以右转,不能直行或左转。如果到路口的时候刚好由红灯变为绿灯,则视为看到绿灯;如果刚好由绿灯变为红灯,则视为看到红灯。

每段道路都是双向道路,道路中间有隔离栏杆,在道路中间不能掉头, 只能在红绿灯路口掉头。掉头时不管是红灯还是绿灯都可以直接掉头。掉头的时间可以忽略。

小蓝时刻 00 从家出发。今天,他接到了 qq 个预约的订单,他打算按照订单 的顺序依次完成这些订单,就回家休息。中途小蓝不准备再拉其他乘客。小蓝的家在两个路口的中点,小蓝喜欢用 x1,y1,x2,y2x_{1}, y_{1}, x_{2}, y_{2} 来表示自己家的位 置, 即路口 (x1,y1)\left(x_{1}, y_{1}\right) 到路口 (x2,y2)\left(x_{2}, y_{2}\right) 之间的道路中点的右侧, 保证两个路口相邻 (中间没有其他路口)。请注意当两个路口交换位置时,表达的是路的不同两边,路中间有栏杆,因此这两个位置实际要走比较远才能到达。

小蓝的订单也是从某两个路口间的中点出发,到某两个路口间的中点结束。小蓝必须按照给定的顺序处理订单,而且一个时刻只能处理一个订单,不能图省时间而同时接两位乘客,也不能揷队完成后面的订单。

小蓝只对 LL 市比较熟,因此他只会在给定的 nn 条东西向道路和 mm 条南北向道路上行驶,而且不会驶出 H1,Hn,S1,SmH_{1}, H_{n}, S_{1}, S_{m} 这几条道路所确定的矩形区域 (可 以到边界。

小蓝行车速度一直为 11,乘客上下车的时间忽略不计。

请问,小蓝最早什么时候能完成所有订单回到家。

输入格式

输入第一行包含两个整数 n,mn, m,表示东西向道路的数量和南北向道路的数 量。

第二行包含 n1n-1 个整数 h1,h2,,hn1h_{1}, h_{2}, \cdots, h_{n-1}

第三行包含 m1m-1 个整数 w1,w2,,wm1w_{1}, w_{2}, \cdots, w_{m-1}

接下来 nn 行, 每行 mm 个整数,描述每个路口南北向绿灯的时间,其中的第 ii 行第 jj 列表示 gijg_{i j}

接下来 nn 行, 每行 mm 个整数,描述每个路口东西向绿灯的时间,其中的第 ii 行第 jj 列表示 rijr_{i j}

接下来一行包含四个整数 x1,y1,x2,y2x_{1}, y_{1}, x_{2}, y_{2},表示小蓝家的位置在路口 (x1,y1)\left(x_{1}, y_{1}\right) 到路口 (x2,y2)\left(x_{2}, y_{2}\right) 之间的道路中点的右侧。

接下来一行包含一个整数 qq,表示订单数量。

接下来 qq 行,每行描述一个订单,其中第 ii 行包含八个整数 xi1,yi1,xi2,yi2x_{i 1}, y_{i 1}, x_{i 2}, y_{i 2}xi3,yi3,xi4,yi4x_{i 3}, y_{i 3}, x_{i 4}, y_{i 4},表示第 ii 个订单的起点为路口 (xi1,yi1)\left(x_{i 1}, y_{i 1}\right) 到路口 (xi2,yi2)\left(x_{i 2}, y_{i 2}\right) 之间的道 路中点的右侧,第 ii 个订单的终点为路口 (xi3,yi3)\left(x_{i 3}, y_{i 3}\right) 到路口 (xi4,yi4)\left(x_{i 4}, y_{i 4}\right) 之间的道路中 点的右侧。

输出格式

输出一个实数,表示小蓝完成所有订单最后回到家的最早时刻。四舍五入保留一位小数。

2 3
200
100 400
10 20 10
20 40 30
20 20 20
20 20 20
2 1 1 1
1
2 2 1 2 1 2 1 3
1620.0

提示

【样例说明】

蓝有一个订单, 他的行车路线如下图所示。其中 H\mathrm{H} 表示他家的位置, S\mathrm{S} 表示订单的起点, T\mathrm{T} 表示订单的终点。小小明在最后回家时要在直行的红绿灯路 口等绿灯, 等待时间为 2020

【评测用例规模与约定】

对于 20%20 \% 的评测用例, 1n,m5,1q101 \leq n, m \leq 5,1 \leq q \leq 10

对于 50%50 \% 的评测用例, 1n,m30,1q301 \leq n, m \leq 30,1 \leq q \leq 30

对于所有评测用例, $1 \leq n, m \leq 100,1 \leq q \leq 30,1 \leq h_{1}<h_{2}<\cdots<h_{n-1} \leq$ $100000,1 \leq w_{1}<w_{2}<\cdots<w_{m-1} \leq 100000,1 \leq g_{i j} \leq 1000,1 \leq r_{i j} \leq 1000$, 给定的路口一定合法。