CF2033B.Sakurako and Water

入门

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在与浩介的旅途中,樱子和浩介发现了一个山谷,这个山谷可以表示为一个大小为 n×nn \times n 的矩阵,在 ii 行和 jj 列的交点上有一座高度为 ai,ja_{i,j} 的山;如果 ai,j<0a_{i,j} < 0,那么那里有一个湖。

浩介非常怕水,所以樱子需要帮助他:

  • 她可以用魔法选择一个正方形的山峰区域,并将该区域主对角线上的每座山峰的高度正好增加一个。

更正式地说,她可以选择一个左上角位于 (i,j)(i, j),右下角位于 (p,q)(p, q) 的子矩阵,满足 p−i=q−jp-i=q-j。然后在 (i+k)(i + k) 行和 (j+k)(j + k) 列的交点处的每个元素上加 11,其中 kk 满足 0≤k≤p−i0 \le k \le p-i。

求樱子使用魔法的最少次数,这样就没有湖泊了。

输入格式

第一行包含一个整数 tt(1≤t≤2001 \le t \le 200),测试用例数。

每个测试用例的描述如下:

  • 每个测试用例的第一行包含一个数字 nn(1≤n≤5001 \le n \le 500)。
  • 接下来的每行 nn 都由 nn 个整数组成,中间用空格隔开,这些整数对应山谷中的山高 aa(−105≤ai,j≤105-10^5 \le a_{i,j} \le 10^5)。

保证所有测试用例中 nn 的总和不超过 10001000。

输出格式

针对每个测试案例,输出樱子使用魔法使所有湖泊消失的最少次数。

输入输出样例

  • 输入#1

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

    输出#1

    0
    1
    4
    19

说明/提示

样例解释

样例 1

矩阵中没有负数(即没有湖),因此不需要任何魔法操作。

样例 2

  • 只有一个湖位于 (1,1)(1,1),高度为 −1-1。
  • 我们需要选择一个包含 (1,1)(1,1) 的正方形区域,并对其主对角线上的元素加 11。
  • 因此答案是 11。

样例 3

  • 湖位于 (2,1)(2,1)、(2,3)(2,3) 和 (3,3)(3,3),高度分别为 −2-2、−1-1 和 −1-1。
  • 一种可能的操作步骤:
    1. 选择 2×22 \times 2 的正方形(从 (2,1)(2,1) 到 (3,2)(3,2)),主对角线为 (2,1)(2,1) 和 (3,2)(3,2):
      • (2,1)(2,1) 变为 −2+1=−1-2 + 1 = -1。
      • (3,2)(3,2) 变为 0+1=10 + 1 = 1。
      • 矩阵变为:
        [ 1,  2,  3]
        [-1,  1, -1]
        [ 0,  1, -1]
        
    2. 选择 1×11 \times 1 的正方形(仅 (2,1)(2,1)),操作 11 次:
      • (2,1)(2,1) 变为 −1+1=0-1 + 1 = 0。
    3. 选择 1×11 \times 1 的正方形(仅 (2,3)(2,3)),操作 11 次:
      • (2,3)(2,3) 变为 −1+1=0-1 + 1 = 0。
    4. 选择 1×11 \times 1 的正方形(仅 (3,3)(3,3)),操作 11 次:
      • (3,3)(3,3) 变为 −1+1=0-1 + 1 = 0。
  • 最终矩阵:
[1, 2, 3]
[0, 1, 0]
[0, 1, 0]
  • 总操作次数:44。

样例解释由 DeepSeek V3 完成。

输入解题思路,AI测评打分。不知道怎么写?

首页