1565

Posted Grary

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1565相关的知识,希望对你有一定的参考价值。

P1565 牛宫

题目描述

AP 神牛准备给自己盖一座很华丽的宫殿。于是,他看中了一块N*M 的矩形空地。

空地中每个格子都有自己的海拔高度。AP 想让他的宫殿的平均海拔在海平面之上(假设

海平面的高度是0,平均数都会算吧?)。而且,AP 希望他的宫殿尽量大,能够容纳更

多的人来膜拜他。请问AP 的宫殿最后会有多大?

输入输出格式

输入格式:

第一行为N 和M。之后N 行,每行M 个数,描述的空地的海拔。

输出格式:

输出一行,表示宫殿最大面积。

输入输出样例

输入样例#1:

3 2
4 0
-10 8
-2 -2

输出样例#1:

4

做法:
虽然数据范围没有写但是有好心人告诉了
n<=200
那么三重循环就可以通过了
所以就写了一个矩阵类
通过前缀和维护矩阵的值

class Matrix{
    private:
        int s[N][N];
        int n,m;
    public:
        int Number(int x,int y){
            return s[x][y];
        }
        Matrix(){}
        Matrix(int n=0,int m=0){
            this->n=n;
            this->m=m;
        }
        void input(){
            for(int i=0;i<=n;++i)
                for(int j=0;j<=m;++j)
                    if(!i||!j)s[i][j]=0;
                    else s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+b[i][j];
        }
        int Sigma(Point s,Point e){
            int Bigcube,Largecube,Smallcube;
            Bigcube=Number(e.x,e.y);
            Smallcube=Number(s.x-1,s.y-1);
            Largecube=Number(e.x,s.y-1);
            Largecube+=Number(s.x-1,e.y);
            return Bigcube-Largecube+Smallcube;
        }
};

以上是关于1565的主要内容,如果未能解决你的问题,请参考以下文章

bzoj1565 植物大战僵尸

HDU 1565 1569 方格取数(最大点权独立集)

bzoj1565

b2OJ_1565_[NOI2009]植物大战僵尸_拓扑排序+最大权闭合子图

1565

BZOJ 1565: [NOI2009]植物大战僵尸