#P13448. [GCJ 2009 Finals] Year of More Code Jam
[GCJ 2009 Finals] Year of More Code Jam
Description
新的一年带来了新的日历、新的挑战,以及生活中更多的乐趣。然而,有些事情永远不会改变。精彩的编程比赛依旧层出不穷,而我们的主角 Sphinny 对这些比赛的热情始终如一。
Sphinny 对若干项锦标赛感兴趣。每项锦标赛都包含若干轮。每项锦标赛的主办方尚未确定比赛的开始日期,但已经决定了该锦标赛将包含多少轮,以及每一轮距离比赛开始日的天数。
在某些情况下,不同锦标赛的若干轮可能会安排在同一天举行。由于 Sphinny 非常热爱解题,如果同一天有更多的轮次举行,她会更加开心。她的幸福值计算方式如下:对于每一天,若当天有 轮比赛,则她的幸福值增加 。她的初始幸福值为 (别担心—— 也是个很幸福的起点)。
下图展示了三项锦标赛,每种颜色代表一项锦标赛,Sphinny 的总幸福值为 。有一项锦标赛在当年的第 天开始,一项在第 天开始,一项在第 天开始。

一年共有 天。每项锦标赛都可以等概率地在这 天中的任意一天开始。今年的大问题是:Sphinny 的期望幸福值是多少?
作为一个完美主义者,她不会只求近似解,而是想要精确的答案。锦标赛的数量为 ,因此一共有 种等可能的锦标赛开始日期的组合。她希望将期望幸福值写成 的形式,其中 和 为正整数, 为非负整数且 。如果 为零,则 必须为 ;否则 和 不能有大于 的公因数。
如果某项锦标赛开始得太晚,导致其某些轮次安排在下一年,则这些轮次不会对 Sphinny 当年的幸福值产生任何贡献。
Input Format
输入的第一行为一个整数 ,表示测试用例数量。接下来有 组测试数据。每组测试数据的第一行为
其中 表示一年中的天数, 表示锦标赛数量。接下来有 行,每行描述一项锦标赛,格式如下:
表示该锦标赛共有 轮,第 轮将在该锦标赛开始后的第 天举行。每项锦标赛的第一轮总是在第 天举行(即 )。
Output Format
对于每组测试数据,输出一行,格式如下:
Case #:
其中 为测试编号(从 开始),、、 的含义如上所述。
2
1 1
2 2
4 2
3 2 4
2 3
Case #1: 1+0/1
Case #2: 5+1/8
Hint
限制条件
小数据集(5 分)
大数据集(12 分)
翻译由 ChatGPT-4.1 完成。
京公网安备 11011102002149号