我的思考
仅自己可见 · 自动保存到账号,可在其他设备继续查看
解析对你有帮助吗?
1 秒 / 测试点 · 128 MiB
NOIP2014 普及组 T4
给出如下定义:
例如,下面图中选取第 $2,4$ 行和第 $2,4,5$ 列交叉位置的元素得到一个 $2 \times 3$ 的子矩阵如下所示。
| $9$ | $\color{#6a5acd}3$ | $3$ | $\color{#6a5acd}3$ | $\color{#6a5acd}9$ |
|---|---|---|---|---|
| $\color{#6a5acd}9$ | $\color{blue}4$ | $\color{#6a5acd}8$ | $\color{blue}7$ | $\color{blue}4$ |
| $1$ | $\color{#6a5acd}7$ | $4$ | $\color{#6a5acd}6$ | $\color{#6a5acd}6$ |
| $\color{#6a5acd}6$ | $\color{blue}8$ | $\color{#6a5acd}5$ | $\color{blue}6$ | $\color{blue}9$ |
| $7$ | $\color{#6a5acd}4$ | $5$ | $\color{#6a5acd}6$ | $\color{#6a5acd}1$ |
此矩阵的其中一个 $2\times3$ 的子矩阵是:
| $4$ | $7$ | $4$ |
|---|---|---|
| $8$ | $6$ | $9$ |
本题任务:给定一个 $n$ 行 $m$ 列的正整数矩阵,请你从这个矩阵中选出一个 $r$ 行 $c$ 列的子矩阵,使得这个子矩阵的分值最小,并输出这个分值。
第一行包含用空格隔开的四个整数 $n,m,r,c$,意义如问题描述中所述,每两个整数之间用一个空格隔开。
接下来的 $n$ 行,每行包含 $m$ 个用空格隔开的整数,用来表示问题描述中那个 $n$ 行 $m$ 列的矩阵。
一个整数,表示满足题目描述的子矩阵的最小分值。
5 5 2 3
9 3 3 3 9
9 4 8 7 4
1 7 4 6 6
6 8 5 6 9
7 4 5 6 1
6
7 7 3 3
7 7 7 6 2 10 5
5 8 8 2 1 6 2
2 9 5 5 6 1 7
7 9 3 6 1 7 8
1 9 1 4 7 8 8
10 5 9 1 1 8 10
1 3 1 5 4 8 6
16
该矩阵中分值最小的 $2$ 行 $3$ 列的子矩阵由原矩阵的第 $4$ 行、第 $5$ 行与第 $1$ 列、第 $3$ 列、第 $4$ 列交叉位置的元素组成,为:
| $6$ | $5$ | $6$ |
|---|---|---|
| $7$ | $5$ | $6$ |
其分值为 $|6-5|+|5-6|+|7-5|+|5-6|+|6-7|+|5-5|+|6-6|=6$。
该矩阵中分值最小的 $3$ 行 $3$ 列的子矩阵由原矩阵的第 $4$ 行、第 $5$ 行、第 $6$ 行与第 $2$ 列、第 $6$ 列、第 $7$ 列交叉位置的元素组成,选取的分值最小的子矩阵为:
| $9$ | $7$ | $8$ |
|---|---|---|
| $9$ | $8$ | $8$ |
| $5$ | $8$ | $10$ |
题目可直接阅读。页面加载后可编写 C++ 代码、运行样例并提交在线评测。
不限时,可逐题在网页作答、提交评测。
知识点、难度与考点提示为本站编辑标注,用于按专题组卷练习;点击题目进入原卷作答环境。
仅自己可见 · 自动保存到账号,可在其他设备继续查看