BZOJ1218 (접두사와 이차원)

1,218 : HNOI2003] 레이저 폭탄
분석 : 고전 이차원 프리픽스 문제. 두 차원에서, 포함 및 배제에있어서, (X, Y)과 행의 이차원 프리픽스 (1,1) \ (S (X, Y) = S (1-X, Y) + S (X, . 1-Y) -S (. 1-X, Y) + A (X- 상기 Y) \) . 마찬가지로, 포함 및 제외 이차원 간격의 원리에 따른 \ ((X_1, Y_1) \ ) 에 \ ((X_2, Y_2) \ ) 접두어이고 \ (S (X_2, Y_2) -S (X_1, Y_2) - S + S (X_2, Y_1) (X_1, Y_1) \)

#include "bits/stdc++.h"
using namespace std;
const int maxn=5e3+10;
int n,a[maxn][maxn],R;
int main()
{
    //freopen("in.txt","r",stdin);
    scanf("%d%d",&n,&R);
    for(int i=1;i<=n;i++){
        int x,y,v;
        scanf("%d%d%d",&x,&y,&v);
        a[x+1][y+1]+=v;
    }
    for(int i=1;i<=5001;i++)
        for(int j=1;j<=5001;j++)
            a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+a[i][j];
    int mx=0;
    for(int i=R;i<=5001;i++)
        for(int j=R;j<=5001;j++)
            mx=max(mx,a[i][j]-a[i-R][j]-a[i][j-R]+a[i-R][j-R]);
    printf("%d\n",mx);
    return 0;
}

추천

출처www.cnblogs.com/gzgywh/p/12081853.html