QOJ.ac

QOJ

时间限制: 6 s - 12 s 内存限制: 1024 MB 总分: 30

#5902. 楼上/楼下

统计

Konstantin 和 Ilia 住在同一栋房子里。Konstantin 住在楼上,喜欢跳跃、搬动家具等会制造噪音的活动。Ilia 住在楼下,喜欢睡觉。

为了度过一个愉快的夜晚,Konstantin 想要进行至少 $K$ 项活动。昨晚,Ilia 请求 Konstantin 尽量不要吵醒他;由于 Konstantin 是一位非常友好的邻居,他答应了。不幸的是,他把 Ilia 的请求理解得有点太字面了,他将选择他的活动,以最小化 Ilia 入睡后被吵醒的概率。

Konstantin 的每项可能活动都有一个关联概率 $a_i/b_i$。如果 Konstantin 执行了这项活动,那么在活动结束时,Ilia 将以 $a_i/b_i$ 的概率处于清醒状态,否则处于睡眠状态,无论他在活动开始时是否处于睡眠状态。此外,对于每项可能的活动,Konstantin 最多只能执行 $c_i$ 次(超过这个次数会很无聊,如果感到无聊,Konstantin 就无法度过一个愉快的夜晚)。

Konstantin 想要按顺序选择一定数量的活动,使得: 执行的活动总数至少为 $K$。 第 $i$ 项活动执行的次数不超过 $c_i$。 * Ilia 在活动过程中被吵醒一次或多次的概率 $Q$ 尽可能小。

Ilia 开始时是清醒的,因此要让他被吵醒,他必须在某项活动结束时处于睡眠状态,然后在下一项活动结束时处于清醒状态。

Konstantin 在度过愉快夜晚的同时能达到的最小 $Q$ 是多少?注意,Konstantin 无法判断 Ilia 是清醒还是睡眠,因此他无法利用这些信息来调整他的活动。

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例的第一行包含两个整数 $N$ 和 $K$。接下来的 $N$ 行,每行代表一项 Konstantin 可以选择的活动。这些行的格式为 "$a_i/b_i$ $c_i$",表示有一项活动,执行后 Ilia 以 $a_i/b_i$ 的概率处于清醒状态,且 Konstantin 最多可以执行该活动 $c_i$ 次而不会感到无聊。

输出格式

对于每个测试用例,输出一行 "Case #x: Q",其中 $x$ 是用例编号(从 1 开始),$Q$ 是 Konstantin 执行活动期间 Ilia 被吵醒的最小概率。绝对误差或相对误差不超过 $10^{-6}$ 的答案将被接受。

数据范围

内存限制:1GB。

$1 \le T \le 100$。 $0 \le a_i \le b_i \le 1000000$,对于所有 $i$。 $1 \le b_i$ 且 $1 \le c_i$,对于所有 $i$。 $1 \le K \le$ 该测试用例中所有 $c_i$ 之和。

子任务 1

时间限制:6 秒。 $1 \le N \le 100$。 每个测试用例中所有 $c_i$ 之和不超过 100。

子任务 2

时间限制:12 秒。 $1 \le N \le 10000$。 每个测试用例中所有 $c_i$ 之和不超过 $10^6$。

样例

样例输入 1

3
4 1
1/2 3
1/5 2
2/5 1
2/2 2
3 2
1/2 2
1/3 2
3/4 2
3 3
99/100 1
1/2 2
1/50 3

样例输出 1

Case #1: 0.000000000
Case #2: 0.083333333
Case #3: 0.015000000

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.