CF2033B.Sakurako and Water
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在与浩介的旅途中,樱子和浩介发现了一个山谷,这个山谷可以表示为一个大小为 n×n 的矩阵,在 i 行和 j 列的交点上有一座高度为 ai,j 的山;如果 ai,j<0,那么那里有一个湖。
浩介非常怕水,所以樱子需要帮助他:
- 她可以用魔法选择一个正方形的山峰区域,并将该区域主对角线上的每座山峰的高度正好增加一个。
更正式地说,她可以选择一个左上角位于 (i,j),右下角位于 (p,q) 的子矩阵,满足 p−i=q−j。然后在 (i+k) 行和 (j+k) 列的交点处的每个元素上加 1,其中 k 满足 0≤k≤p−i。
求樱子使用魔法的最少次数,这样就没有湖泊了。
输入格式
第一行包含一个整数 t(1≤t≤200),测试用例数。
每个测试用例的描述如下:
- 每个测试用例的第一行包含一个数字 n(1≤n≤500)。
- 接下来的每行 n 都由 n 个整数组成,中间用空格隔开,这些整数对应山谷中的山高 a(−105≤ai,j≤105)。
保证所有测试用例中 n 的总和不超过 1000。
输出格式
针对每个测试案例,输出樱子使用魔法使所有湖泊消失的最少次数。
输入输出样例
输入#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。
样例 3
- 湖位于 (2,1)、(2,3) 和 (3,3),高度分别为 −2、−1 和 −1。
- 一种可能的操作步骤:
- 选择 2×2 的正方形(从 (2,1) 到 (3,2)),主对角线为 (2,1) 和 (3,2):
- (2,1) 变为 −2+1=−1。
- (3,2) 变为 0+1=1。
- 矩阵变为:
[ 1, 2, 3] [-1, 1, -1] [ 0, 1, -1]
- 选择 1×1 的正方形(仅 (2,1)),操作 1 次:
- (2,1) 变为 −1+1=0。
- 选择 1×1 的正方形(仅 (2,3)),操作 1 次:
- (2,3) 变为 −1+1=0。
- 选择 1×1 的正方形(仅 (3,3)),操作 1 次:
- (3,3) 变为 −1+1=0。
- 选择 2×2 的正方形(从 (2,1) 到 (3,2)),主对角线为 (2,1) 和 (3,2):
- 最终矩阵:
[1, 2, 3]
[0, 1, 0]
[0, 1, 0]
- 总操作次数:4。
样例解释由 DeepSeek V3 完成。
输入解题思路,AI测评打分。不知道怎么写?