码迷,mamicode.com
首页 > 其他好文 > 详细

BZOJ 1218 枚举水

时间:2014-10-21 21:37:16      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:blog   io   for   2014   log   amp   size   as   file   

a[i][j]记录以i,j为右下角的矩形内所有价值和,然后枚举每一个点位置的正方形所能取得的价值


#include "stdio.h"
#include "string.h"

int a[5110][5110];

int Max(int a,int b)
{
    if (a<b) return b;else return a;
}
int main()
{
    int n,r,Mx,My,ans,i,j,x,y,z;
    while (scanf("%d%d",&n,&r)!=EOF)
    {
        memset(a,0,sizeof(a));
        Mx=My=5002;
        while (n--)
        {
            scanf("%d%d%d",&x,&y,&z);
            x++; y++;
            a[x][y]+=z;
        }

        for (i=1;i<=Mx;i++)
            for (j=1;j<=My;j++)
                a[i][j]+=a[i][j-1]+a[i-1][j]-a[i-1][j-1];

        ans=0;
        for (i=0;i<Mx-r;i++)
            for (j=0;j<My-r;j++)
            ans=Max(ans,a[i+r][j+r]-a[i+r][j]-a[i][j+r]+a[i][j]);
        printf("%d\n",ans);
    }
    return 0;
}


BZOJ 1218 枚举水

标签:blog   io   for   2014   log   amp   size   as   file   

原文地址:http://blog.csdn.net/u011932355/article/details/40350867

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!