D. 摩天楼

    传统题 文件IO:tower 2000ms 256MiB

摩天楼

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

33DAI 有一张 nn 行 mm 列的整数网格,格子 (i,j)(i, j) 上的数 ai,ja_{i, j} 表示该处的建筑高度。

请找出最大的整数 ll,使得存在一个 l×ll \times l 的子正方形,其中每个格子上的数都大于等于 ll。

形式化地说,要找到最大的 ll,使得存在 r,cr, c 满足 1≤r1 \le r、r+l−1≤nr + l - 1 \le n、1≤c1 \le c、c+l−1≤mc + l - 1 \le m,且对所有 r≤i≤r+l−1r \le i \le r + l - 1 与 c≤j≤c+l−1c \le j \le c + l - 1 都有 ai,j≥la_{i, j} \ge l。

输入格式

从文件 tower.in 读入数据。

输入的第一行包含一个正整数 tt,表示测试数据组数。

接下来依次给出 tt 组数据,每组数据的格式为:

第一行包含两个正整数 nn 与 mm,表示网格的行数与列数,保证 n≤mn \le m。

接下来 nn 行,每行 mm 个整数,其中第 ii 行的第 jj 个数是 ai,ja_{i, j}。

输出格式

输出到文件 tower.out。

对于每组数据,输出一行一个整数,表示满足条件的最大边长 ll。

4
2 2
2 3
4 5
1 3
1 2 3
2 3
4 4 3
2 1 4
5 6
1 9 4 6 5 8
10 9 5 8 11 6
24 42 32 8 11 1
23 1 9 69 13 3
13 22 60 12 14 17
2
1
1
3

样例 1 解释

第一组数据里取整个 2×22 \times 2 网格,四个格子上的数都大于等于 22,所以答案是 22。

第二组数据是 1×31 \times 3 的网格,取边长 11 的正方形(例如格子 a1,1=1≥1a_{1,1} = 1 \ge 1)满足条件。

第三组数据里可以取边长 11 的正方形,例如格子 a1,1=4≥1a_{1,1} = 4 \ge 1。

第四组数据里可以取第 1∼31 \sim 3 行、第 2∼42 \sim 4 列构成的 3×33 \times 3 区域,内部的数都大于等于 33。

样例 2

见 tower2.in 与 tower2.ans。

样例 3

见 tower3.in 与 tower3.ans。

数据范围

对于所有测试数据,保证:

  • 1≤t≤10001 \le t \le 1000;
  • 1≤n≤m1 \le n \le m,1≤n⋅m≤1061 \le n \cdot m \le 10^6;
  • 1≤ai,j≤1061 \le a_{i, j} \le 10^6;
  • 单个测试文件中所有测试用例的 n⋅mn \cdot m 之和不超过 10610^6。

子任务

本题共 20 个测试点,按测试点计分:

测试点 分值 每个测试点 特殊限制
1∼61 \sim 6 3030 55 n⋅m≤100n \cdot m \le 100
7∼127 \sim 12 n=1n = 1 或 m=1m = 1(退化成一维)
13∼2013 \sim 20 4040 无额外限制

每个测试点单独评分,全部测试点的得分之和即为本题得分。

【评测】三三信奥国庆模拟赛 CSP-J 第二场

未参加
状态
已结束
规则
OI
题目
4
开始于
2026-10-2 8:30
结束于
2026-10-5 8:30
持续时间
3.5 小时
主持人
参赛人数
19