QOJ.ac

QOJ

時間限制: 6.0 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#7021. 在阿米东索数羊

统计

Ami Dongsuo 是藏语中对山神的称呼,它守护着祁连山脉,其汉名为牛心山。Ami Dongsuo 是一座神山,因关于卓尔山的奇妙爱情故事而闻名。周围的环境使得 Ami Dongsuo 形成了一个巨大的牧羊场。

根据生态学家马先生的一份令人震惊的新报告,Ami Dongsuo 总共有 $n$ 个不同的牧场。在当地牧民的帮助下,马先生描述了每个牧场的羊的数量以及所有牧场之间的路径。

今天,在马先生的带领下,三位探险家 Alice、Bob 和 Carol 决定参观 Ami Dongsuo 的一些牧场。马先生向他们提出了一个要求,该要求由一个整数 $k$ 描述,他们需要满足该要求。这三位探险家将从同一个牧场出发,并选择三条不同的路线,起点由他们自己选择,因此可以是任何地方。此外,一条路线可能经过一个或多个牧场。由于山峰海拔接近 5000 米,上山或攀登是一项非常累人的工作,探险家们达成了一项协议,即路线中所有牧场的海拔高度在访问顺序上应严格递减。如果沿着各自的路线行进,他们最终会到达某些牧场,这些牧场可能不尽相同。马先生提出的要求 $k$ 是,这三个目的地牧场中的羊的总数(考虑重数)等于 $k$。

现在,马先生希望有人能告诉他,对于任何正整数 $k$,Alice、Bob 和 Carol 有多少种不同的方案可以满足他的要求。在这个问题中,我们将一个方案视为一个包含三条不同路线的集合,这些路线共享同一个起点。如果两条路线的起点不同,或者它们访问路径的顺序不同,则认为这两条路线是不同的。如果一个方案中包含的路线至少有一条在另一个方案中不存在,则认为这两个方案是不同的。

输入格式

输入包含多个测试用例,第一行包含一个正整数 $T$,表示测试用例的数量,最多为 5。

对于每个测试用例,第一行包含三个整数 $n, m$ 和 $w$,分别表示牧场的数量、牧场之间的路径数量以及牧场中羊数量的上限,其中 $1 \le n \le 10000$,$1 \le m \le 30000$,$1 \le w \le 400$。

下一行包含 $n$ 个正整数,其中第 $i$ 个数表示 Ami Dongsuo 中第 $i$ 个牧场的羊的数量,每个数字最大为 $w$。

接下来的 $m$ 行描述了这些牧场之间的所有路径,每行包含两个整数 $u$ 和 $v$,表示第 $u$ 个牧场和第 $v$ 个牧场之间的一条路径,其中 $1 \le u, v \le n$,$u \neq v$,并且我们保证第 $u$ 个牧场的海拔严格高于第 $v$ 个牧场,且任意两个牧场之间最多只有一条路径。

虽然输入没有给出所有牧场的具体海拔,但我们保证它们确实存在,并且测试用例中给出的所有路径都不会产生歧义。此外,对于任何一对牧场,探险家可能无法从海拔较高的牧场前往海拔较低的牧场,因为路线中涉及的牧场海拔受到限制。即使某些路径是从较低海拔通向较高海拔,该路线也可能是不被允许的。

输出格式

对于每个测试用例,输出一行,包含 “Case #x:”(不含引号)以及随后的 $3w$ 个整数,其中 $x$ 是从 1 开始的测试用例编号,随后的第 $i$ 个整数表示对于 $k = i \pmod{10^9+7}$ 时上述不同方案的数量。为了分隔这些不同 $k$ 值的方案数,请在每个数字前插入一个空格。

样例

输入 1

2
4 3 4
1 2 3 4
1 2
1 3
1 4
4 6 4
1 2 3 4
1 2
1 3
1 4
2 3
2 4
3 4

输出 1

Case #1: 0 0 0 0 0 1 1 1 1 0 0 0
Case #2: 0 0 0 0 0 2 5 9 16 11 13 4

说明

在第一个样例中,所有可能方案的起点都是同一个牧场(即第一个牧场),从第一个牧场出发的不同路线有 1, 1 $\to$ 2, 1 $\to$ 3 和 1 $\to$ 4。

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.