#P13448. [GCJ 2009 Finals] Year of More Code Jam

    ID: 13258 远端评测题 6000ms 1024MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>动态规划 DP2009期望Google Code Jam

[GCJ 2009 Finals] Year of More Code Jam

Description

新的一年带来了新的日历、新的挑战,以及生活中更多的乐趣。然而,有些事情永远不会改变。精彩的编程比赛依旧层出不穷,而我们的主角 Sphinny 对这些比赛的热情始终如一。

Sphinny 对若干项锦标赛感兴趣。每项锦标赛都包含若干轮。每项锦标赛的主办方尚未确定比赛的开始日期,但已经决定了该锦标赛将包含多少轮,以及每一轮距离比赛开始日的天数。

在某些情况下,不同锦标赛的若干轮可能会安排在同一天举行。由于 Sphinny 非常热爱解题,如果同一天有更多的轮次举行,她会更加开心。她的幸福值计算方式如下:对于每一天,若当天有 SS 轮比赛,则她的幸福值增加 S2S^2。她的初始幸福值为 00(别担心——00 也是个很幸福的起点)。

下图展示了三项锦标赛,每种颜色代表一项锦标赛,Sphinny 的总幸福值为 2020。有一项锦标赛在当年的第 22 天开始,一项在第 55 天开始,一项在第 66 天开始。

一年共有 NN 天。每项锦标赛都可以等概率地在这 NN 天中的任意一天开始。今年的大问题是:Sphinny 的期望幸福值是多少?

作为一个完美主义者,她不会只求近似解,而是想要精确的答案。锦标赛的数量为 TT,因此一共有 NTN^T 种等可能的锦标赛开始日期的组合。她希望将期望幸福值写成 K+A/BK+A/B 的形式,其中 KKBB 为正整数,AA 为非负整数且 A<BA < B。如果 AA 为零,则 BB 必须为 11;否则 AABB 不能有大于 11 的公因数。

如果某项锦标赛开始得太晚,导致其某些轮次安排在下一年,则这些轮次不会对 Sphinny 当年的幸福值产生任何贡献。

Input Format

输入的第一行为一个整数 CC,表示测试用例数量。接下来有 CC 组测试数据。每组测试数据的第一行为

N TN\ T

其中 NN 表示一年中的天数,TT 表示锦标赛数量。接下来有 TT 行,每行描述一项锦标赛,格式如下:

m d2 d3  dmm\ d_2\ d_3\ \ldots\ d_m

表示该锦标赛共有 mm 轮,第 ii 轮将在该锦标赛开始后的第 did_i 天举行。每项锦标赛的第一轮总是在第 11 天举行(即 d1=1d_1=1)。

Output Format

对于每组测试数据,输出一行,格式如下:

Case #XX: K+A/BK+A/B

其中 XX 为测试编号(从 11 开始),KKAABB 的含义如上所述。

2
1 1
2 2
4 2
3 2 4
2 3
Case #1: 1+0/1
Case #2: 5+1/8

Hint

限制条件

  • 1C501 \leq C \leq 50
  • 1N1091 \leq N \leq 10^{9}
  • 2m502 \leq m \leq 50
  • 1<d2<d3<<dm100001 < d_2 < d_3 < \ldots < d_m \leq 10000

小数据集(5 分)

  • 1T21 \leq T \leq 2

大数据集(12 分)

  • 1T501 \leq T \leq 50

翻译由 ChatGPT-4.1 完成。