QOJ.ac

QOJ

時間限制: 5 s 記憶體限制: 1024 MB 總分: 100

#11324. 熊猫先生与圆

统计

熊猫先生喜欢创作和解决数学谜题。有一天,熊猫先生在和熊猫夫人玩游戏时想出了一个谜题:

在平面上,线段上有 $M$ 个点 $(0, 0), (1, 0), \dots, (M-2, 0), (M-1, 0)$。同时给定 $N$ 个圆,第 $i$ 个圆的半径为 $R_i$。在游戏中,你可以将任意圆的圆心放置在上述 $M$ 个点中的某一个上,且不能使圆重叠(即如果两个圆的交集面积为正,则视为重叠),并且必须使用所有的圆。

如果每个圆的圆心都在这 $M$ 个点中的某一个上,则称该圆的排列是合法的。熊猫先生想知道在从 $(0, 0)$ 到 $(M-1, 0)$ 的线段上,没有被任何圆覆盖的空余单位长度。

由于排列方式太多,熊猫先生只想知道 $\sum L_i^2 \pmod{1,000,000,007}$,其中 $L_i$ 是第 $i$ 种排列中空余单位的长度。

这个谜题困扰了熊猫先生很久。幸运的是,熊猫先生知道你正在参加这场比赛。你能帮熊猫先生解决这个谜题吗?

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。 每个测试用例的第一行包含两个整数 $N$(圆的数量)和 $M$(点的数量)。 接下来一行包含 $N$ 个整数,第 $i$ 个数 $R_i$ 表示第 $i$ 个圆的半径。

输出格式

对于每个测试用例,输出一行 “Case #x: y”,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是熊猫先生想要知道的对于第 $x$ 个输入数据集的结果。

数据范围

  • $1 \le T \le 30$
  • $1 \le N \le 10^5$
  • $2 \le M \le 10^{18}$
  • $1 \le R_i \le 10^5$

样例

输入 1

5
3 6
1 1 1
2 5
1 2
2 6
1 2
3 2
1 1 1
1 10
50

输出 1

Case #1: 12
Case #2: 2
Case #3: 14
Case #4: 0
Case #5: 0

说明

在第二个样例中,一种包含空余单位的排列如下:

另一种包含空余单位的排列可以通过将上述排列镜像得到。显然,不存在包含两个或更多空余单位的排列。因此答案为 $1^2 + 1^2 = 2$。

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.