QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB Total points: 110

#13358. 磁铁

Statistics

小马尔科厌倦了玩 Shiba Inu 或 XRC 之类的垃圾加密货币,于是他决定玩磁铁。他有 $n$ 个不同的磁铁,以及一个有 $l$ 个空槽的板子,磁铁可以放置在这些槽中。每对相邻槽之间的距离正好是一厘米。每个磁铁都有一个作用半径 $r_i$。这意味着它会吸引所有距离它严格小于 $r_i$ 厘米的磁铁(无论另一个磁铁的作用半径是多少)。有些磁铁的作用半径可能相同,但它们被视为不同的磁铁。

马尔科不喜欢磁铁之间相互吸引,所以他想知道有多少种放置磁铁的方法,使得没有任何磁铁吸引其他磁铁。所有的磁铁都必须放置在板子上,且每个空槽最多只能放置一个磁铁。如果两种放置方式中至少有一个磁铁的位置不同,则这两种方式被视为不同。由于所需的数量可能非常大,请输出其对 $10^9 + 7$ 取模的结果。

输入格式

第一行包含正整数 $n$ 和 $l$,分别表示磁铁的数量和空槽的数量。 第二行包含 $n$ 个正整数 $r_i$ ($1 \le r_i \le l$),表示 $n$ 个磁铁的作用半径。

输出格式

输出将磁铁放置在板子上且没有任何磁铁相互吸引的方法数,对 $10^9 + 7$ 取模。

子任务

在每个子任务中,均满足 $1 \le n \le 50$ 且 $n \le l \le 10\,000$。

子任务 分值 约束条件
1 10 $r_1 = r_2 = \dots = r_n$
2 20 $1 \le n \le 10$
3 30 $1 \le n \le 30, n \le l \le 300$
4 50 无附加约束

样例

输入格式 1

1 10
10

输出格式 1

10

输入格式 2

4 4
1 1 1 1

输出格式 2

24

说明

所有磁铁的排列方式都是有效的,因为没有任何两个磁铁会相互吸引。

输入格式 3

3 4
1 2 1

输出格式 3

4

说明

如果我们用 1、2 和 3 表示磁铁,用 _ 表示空槽,则可能的磁铁排列方式为 13_2, 31_2, 2_13 和 2_31。

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.