99. 激光炸弹

Posted 幽殇默

tags:

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


https://www.acwing.com/problem/content/description/101/

#include<bits/stdc++.h>
using namespace std;
const int N=5010;
int s[N][N],n,r;
int main(void)
{
    cin>>n>>r;
    r=min(r,5000);
    while(n--)
    {
        int a,b,c; cin>>a>>b>>c;
        s[a+1][b+1]+=c;
    }
    for(int i=1;i<=5000;i++)
        for(int j=1;j<=5000;j++)
            s[i][j]+=s[i-1][j]+s[i][j-1]-s[i-1][j-1];
    int ans=0;
    for(int i=1;i<=5000-r+1;i++)
        for(int j=1;j<=5000-r+1;j++)
            ans=max(ans,s[i+r-1][j+r-1]-s[i-1][j+r-1]-s[i+r-1][j-1]+s[i-1][j-1]);
    cout<<ans;
}

以上是关于99. 激光炸弹的主要内容,如果未能解决你的问题,请参考以下文章

算法刷题AcWing 99. 激光炸弹——前缀和

Acwing 99 激光炸弹 (二维前缀和)

Acwing-99-激光炸弹(二维前缀和)

99. 激光炸弹二维前缀和

ACwing99 激光炸弹 二维前缀和

BZOJ1218:[HNOI2003]激光炸弹