标签:
.牛宫
(long.pas/c/cpp)
【问题描述】
AP 神牛准备给自己盖一座很华丽的宫殿。于是,他看中了一块 N*M 的矩形空地。空
地中每个格子都有自己的海拔高度。AP 想让他的宫殿的平均海拔在海平面之上(假设海平
面的高度是 0,平均数都会算吧?) 。而且,AP 希望他的宫殿尽量大,能够容纳更多的人来
膜拜他。请问 AP的宫殿最后会有多大(宫殿必须是矩形)?
【输入】
第一行为 N和 M。之后 N 行,每行 M 个数,描述的空地的海拔(取值范围在 longint
范围内)。
【输出】
输出一行,表示宫殿最大面积。
【输出输出样例】
long.in long.out
3 2 4
4 0
-10 8
-2 -2
4
【数据规模】
对于 30%的数据,N,M≤50;
对于 100%的数据,N,M≤200;
真的是用单调栈,2333。
先把这个矩阵压成一维(如果不知道怎么做,可以看看我的伪题解)。
然后就会存在一个问题,最长连续和为正的序列。
之前的做法是用前缀和,然后枚举开始和结尾,
当然这样会超时,于是就想到了用单调栈。
如果定一个结尾,从。。。等会再写。
标签:
原文地址:http://www.cnblogs.com/Ateisti/p/4820014.html