QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 512 MB Puntuación total: 100

#11705. 地震

Estadísticas

索多岛(Sodor)可以通过桥梁与英格兰相连。

由于索多岛和英格兰相距遥远,存在多条(恰好 $n$ 条)通过一座或多座桥梁连接两地的路线。具体来说,路线 $i$ 通过 $k_i$ ($k_i \ge 1$) 座桥梁连接索多岛和英格兰。我们将路线 $i$ 的第 $j$ 座桥梁(从索多岛向英格兰计数)记为 $B[i, j]$。下图展示了 $n=2$ 条路线和五座桥梁的情况,其中 $k_1 = 2$,$k_2 = 3$。

图 1:两条路线和五座桥梁

对于一条路线中任意两座相邻的桥梁 $B[i, j]$ 和 $B[i, j+1]$(其中 $j+1 \le k_i$),它们的连接处是一个仅作为两座桥梁连接点的小岛。如图所示,连接索多岛和英格兰的路线恰好有 $n$ 条,因为桥梁互不相交,且所有连接点也各不相同。特别地,如果路线 $i$ 中的任何一座桥梁受损,则路线 $i$ 无法用于往返索多岛和英格兰。

由于该地区近期发生地震,一些桥梁可能遭受严重损坏并变得无法使用。目前我们无法确切知道哪些桥梁在地震中幸存,哪些被摧毁。得益于地震前对桥梁进行的检查,我们已知每座桥梁在地震后仍然完好的确切概率。设 $p[i, j]$ 为桥梁 $B[i, j]$ 在地震后仍然完好的概率($0 < p[i, j] < 1$)。假设各桥梁是否完好的事件相互独立。

我们想要知道索多岛和英格兰之间是否仍然存在通路。然而,确定一座桥梁是否完好是一项昂贵的操作,因为需要派遣大型检查队通过直升机和船只前往,因此我们希望最小化检查次数。使用最优的检查序列(即最小化期望检查次数),我们直到确定索多岛和英格兰之间是否仍有安全路线为止,所必须执行的检查次数的期望值是多少?

输入格式

第一行包含一个整数 $n$,表示路线的数量($2 \le n \le 1000$)。

接下来的 $n$ 行包含每条路线的信息。第 $i$ 行以一个整数 $k_i$ 开头,表示第 $i$ 条路线中的桥梁数量($1 \le k_i \le 1000$)。随后是 $k_i$ 个整数,标记为 $q[i, j]$,其中 $1 \le j \le k_i$。每个 $q[i, j]$ 是一个 $1$ 到 $999$ 之间的整数(包含边界),表示 $p[i, j] = q[i, j]/1000$。

输出格式

输出最优检查序列下检查次数的期望值。如果你的答案与标准答案的相对误差或绝对误差在 $10^{-9}$ 以内,则被视为正确。

样例

样例输入 1

2
3 900 900 900
2 100 100

样例输出 1

3.0081

样例输入 2

3
1 240
1 310
1 50

样例输出 2

2.2144

说明

第一个输入描述了题目描述中讨论的例子。直观地看,路线 1 非常可能完好,因为所有三座桥梁预计都是完好的,而路线 2 最有可能被摧毁。最优策略是检查路线 1 的三座桥梁(以任意顺序,直到路线 1 被判定为安全或受损),然后检查路线 2 的两座桥梁。

对于第二个输入,最优策略是先检查路线 2,然后是路线 1,最后是路线 3(如果需要的话)。

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.