QOJ.ac

QOJ

Limite de temps : 1.5 s Limite de mémoire : 512 MB Points totaux : 110

#17621. 教室

Statistiques

一群共 $k$ 个朋友进入了一间教室。每个朋友的身高 $h_i$ 是已知的,教室里其他已经就座的学生的身高也是已知的。

教室可以表示为一个 $n \times m$ 的网格 $a$,其中每个单元格对应一个座位。第 $i$ 行第 $j$ 列的座位用 $a_{i,j}$ 表示。对于每个座位,我们知道它是空着的,还是已经被一名学生占用了(以及该学生的身高)。

这 $k$ 个朋友想要在教室里就座。每个朋友恰好占用一个空座位,且任意两个朋友不能坐在同一个座位上。此外,他们希望在同一行中相邻而坐。更具体地说,他们选择一个行索引 $i$(满足 $1 \le i \le n$)和一个列索引 $j$(满足 $1 \le j \le m - k + 1$),并坐在座位 $a_{i,j}, a_{i,j+1}, \dots, a_{i,j+k-1}$ 上。朋友们可以以任意顺序坐在这些座位上,不需要按照他们身高给出的顺序就座。

一个朋友认为某个座位是合适的,当且仅当坐在他正前方(即同列中行索引较小的行)的所有学生都严格矮于他,从而确保他有清晰的视线。如果这群朋友可以调整自己的座位顺序,使得每个朋友都有清晰的视线,那么他们就认为同一行中连续的 $k$ 个座位是合适的一组座位。

考虑到这些条件,教室里有多少组适合这群朋友的座位?

输入格式

第一行包含三个正整数 $n$,$m$ 和 $k$($1 \le n, m \le 2000$,$1 \le k \le m$)——分别表示教室的行数、列数以及朋友的人数。

第二行包含 $k$ 个正整数 $h_1, h_2, \dots, h_k$ ——朋友们的身高。

接下来的 $n$ 行,每行包含 $m$ 个正整数:如果 $a_{i,j} = 0$,表示该座位为空;如果 $a_{i,j} \ge 1$,表示该座位已被一名身高为 $a_{i,j}$($1 \le a_{i,j} \le 10^9$)的学生占用。

输出格式

在第一行也是唯一一行中,输出一个整数——表示在同一行中,有多少组连续的 $k$ 个座位可以安排这群朋友,使得每个人都有清晰的视线。

子任务

子任务 分值 附加限制
1 11 $k \le 2$
2 13 $n, m \le 200$
3 29 $n, m \le 500$
4 57 无附加限制

样例

输入样例 1

3 4 2
2 6
0 0 3 1
8 0 0 0
0 0 1 0

输出样例 1

3

输入样例 2

2 4 4
5 2 4 3
1 2 3 4
0 0 0 0

输出样例 2

1

输入样例 3

5 5 3
17 3 17
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

输出样例 3

15

说明

样例 1 说明

这两个朋友可以坐在第一行的前两个座位、第二行的第二和第三个座位,或者第二行的第三和第四个座位。因此,他们总共可以坐在 $3$ 组不同的座位上。

样例 2 说明

如果这四个朋友按照从矮到高的顺序排列,他们可以坐在仅有的四个可用座位上。

样例 3 说明

这三个朋友可以坐在同一行中的任意三个连续座位上,因为教室里没有其他学生,从而总共产生 $15$ 种合法的就座方案。

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.