题目名称 24. [HAOI 2007]修筑绿化带
输入输出 parterre.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarBYVoid 于2008-04-11加入
开放分组 全部用户
提交状态
分类标签
动态规划 HAOI 递推 单调队列
分享题解
通过:76, 提交:177, 通过率:42.94%
Gravatarhzoi_xx 100 0.403 s 23.44 MiB C++
GravatarSoviets 100 0.420 s 13.33 MiB C++
Gravatarsxysxy 100 0.424 s 15.63 MiB C++
GravatarYoungsc 100 0.434 s 14.29 MiB C++
GravatarrpCardinal 100 0.435 s 14.29 MiB C++
Gravatarxrq 100 0.437 s 15.87 MiB C++
GravatarrpCardinal 100 0.458 s 15.87 MiB C++
Gravatar根管理员 100 0.673 s 12.28 MiB C++
GravatarSoviets 100 0.699 s 9.42 MiB C++
GravatarQhelDIV 100 0.708 s 31.09 MiB C++
关于 修筑绿化带 的近10条评论(全部评论)
回复 @liu_runda : 在边界上的时候连样例都推不对
Gravatariortheir
2017-02-22 16:51 6楼
单调队列大法好- -
比二维RMQ好写多了
GravatarFoolMike
2016-07-16 21:28 5楼
"花坛四周修建一片绿化带"意思是说花坛不能位于A*B块的边缘。。。WA了一次
Gravatarliu_runda
2016-04-07 18:10 4楼
先预处理部分前缀和,再用两次单调队列。
GravatarrpCardinal
2014-08-26 13:05 3楼
ranto你不是要念单调队列的类么?
GravatarMongo
2014-04-09 15:44 2楼
GravatarCAX-DY
2013-03-11 16:07 1楼

24. [HAOI 2007]修筑绿化带

★★★   输入文件:parterre.in   输出文件:parterre.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

为了增添公园的景致,现在需要在公园中修筑一个花坛,同时在画坛四周修建一片绿化带,让花坛被绿化带围起来。

如果把公园看成一个 $M*N$ 的矩形,那么花坛可以看成一个 $C*D$ 的矩形,绿化带和花坛一起可以看成一个 $A*B$ 的矩形。如果将花园中的每一块土地的“肥沃度”定义为该块土地上每一个小块肥沃度之和,那么,

  绿化带的肥沃度 $=$ $A*B$块的肥沃度 $-$ $C*D$块的肥沃度

为了使得绿化带的生长得旺盛,我们希望绿化带的肥沃度最大。

【输入格式】

第一行有 $6$ 个正整数 $M,N,A,B,C,D$。

接下来一个 $M*N$ 的数字矩阵,其中矩阵的第 $i$ 行 $j$ 列元素为一个整数 $X_{ij}$,表示该花园的第 $i$ 行第 $j$ 列的土地“肥沃度”。

【输出格式】

一个正整数,表示绿化带的最大肥沃程度。

【输入样例】

4 5 4 4 2 2
20 19 18 17 16
15 14 13 12 11
10 9 8 7 6
5 4 3 2 1

【输出样例】

132

【数据范围】

$30\%$ 的数据,$ \leq M,N \leq 50$。

$100\%$ 的数据,$1 \leq M,N \leq 1000,1 \leq A \leq M,1 \leq B \leq N,1 \leq C \leq A-2$,

$1 \leq D \leq B-2,1 \leq 肥沃度 \leq 100$。