99. 激光炸弹二维前缀和

Posted 辉小歌

tags:

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

#include<bits/stdc++.h>
using namespace std;
const int N=5010;
int a[N][N],n,r;
int main(void)

    cin>>n>>r;
    r=min(r,5000);
    while(n--)
    
        int x,y,w; cin>>x>>y>>w;
        a[x+1][y+1]+=w;
    
    for(int i=1;i<=5000;i++)
        for(int j=1;j<=5000;j++)
            a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];
    int ans=0;
    for(int i=r;i<=5000;i++)
    
        for(int j=r;j<=5000;j++)
        
            int x=i-r+1,y=j-r+1;
            int xx=i,yy=j;
            int sum=a[xx][yy]-a[x-1][yy]-a[xx][y-1]+a[x-1][y-1];
            ans=max(ans,sum);
        
    
    cout<<ans;
    return 0;

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

ACwing99 激光炸弹 二维前缀和

99. 激光炸弹二维前缀和

99. 激光炸弹

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

二维前缀和之激光炸弹

二维前缀和例题-激光炸弹