QOJ.ac

QOJ

حد الوقت: 2 s حد الذاكرة: 256 MB مجموع النقاط: 100

#489. 布雷斯悖论

الإحصائيات

布雷斯悖论(Braess's Paradox)展示了一个事实:在道路系统中增加更多的道路和立交桥,实际上可能会使所有使用相应路线的驾驶员的行程时间变长。维基百科中的一个例子说明了这一点。考虑城市 A 和城市 B,人们从居住的城市 A 前往工作的城市 B。有两条道路在中间的 C 点相交,但该点没有立交桥,且无法从一点切换到另一条道路。

从 A 到 C 的第一条路行程时间为 $40k_1$ 分钟,其中 $k_1$ 是使用该道路的驾驶员比例。因此,如果一半的驾驶员使用第一条路,行程需要 20 分钟。从 C 到 B 的第一条路具有相同的属性,但方向不同。从 A 到 C 的行程需要 45 分钟,从 C 到 B 的行程需要 $40k_2$ 分钟($k_1 + k_2 = 1$)。

现在,一半的驾驶员使用第一条路,另一半使用第二条路是最优的,因为在任何其他情况下,沿其中一条路行驶的时间都会更长,对于使用较长路线的驾驶员来说,切换到较短的路线直到它们变得一样长是有利的。因此,所有驾驶员到达目的地的时间为 65 分钟。

如果在 C 点修建一个允许在道路之间切换的立交桥,情况将发生如下变化。现在,无论道路负载如何,始终选择沿从 A 到 C 的第一条路行驶,然后沿从 C 到 B 的第一条路行驶总是最优的。因此,所有驾驶员都会选择这条路线,现在所有驾驶员的行程时间为 80 分钟,而不是 65 分钟。

在本题中,我们考虑上述悖论的广义版本。考虑两个城市 A 和 B,由两条道路连接,这两条道路在 $n-1$ 个点相交,将每条道路分成 $n$ 个部分。对于道路的第 $i$ 部分,行驶所需的时间为 $a_i k_{i,1} + b_i$ 分钟,其中 $k_{i,1}$ 是选择行驶该部分的驾驶员比例($0 \le k_{i,1} \le 1$)。类似地,第二条道路第 $i$ 部分的行驶时间为 $c_i k_{i,2} + d_i$ 分钟($k_{i,2}$ 是使用该部分道路的驾驶员比例,$k_{i,1} + k_{i,2} = 1$)。

交通部门计划在一些道路交叉口修建立交桥,允许在这些点切换道路。然后,驾驶员会自私地选择最优路线:驾驶员一个接一个地检查他们当前的路线,如果存在更优的路线,则切换到该路线。这个过程一直持续到没有驾驶员愿意改变他们的路线为止。可以证明,在这些问题的约束下,这种情况总是可以达到的。由于所有驾驶员都是平等的,他们将拥有相同的从 A 到 B 的行程时间,这被称为均衡时间。我们假设驾驶员数量非常多,以至于 $k_{i,j}$ 可以是 0 到 1 之间的任何浮点值。

你需要检查当前情况、修建所有可能立交桥的情况,并找到修建零个或多个立交桥的两种方法。第一种方法必须使均衡时间最小化,第二种方法必须使均衡时间最大化。

输入格式

输入文件的第一行包含 $n$ ($2 \le n \le 5000$)。接下来的 $n$ 行每行包含四个整数:$a_i, b_i, c_i, d_i$ ($0 \le a_i, b_i, c_i, d_i \le 1000$)。

输出格式

输出四个浮点数,每行一个:

  • 未修建任何立交桥时的均衡时间;
  • 在所有交叉口都修建立交桥时的均衡时间;
  • 可能达到的最小均衡时间;
  • 可能达到的最大均衡时间。

你的答案必须具有至少 $10^{-9}$ 的绝对或相对误差。

样例

输入 1

2
40 0 0 45
0 45 40 0

输出 1

65.0
80.0
65.0
80.0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.