BZOJ [HNOI2003]激光炸弹

Posted zzyer

tags:

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

题解:二维前缀和,枚举正方形右下端点

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int u=5001;

int ans;
int n,r;
int s[u+1][u+1];

int main(){
	scanf("%d%d",&n,&r);
	while(n--){
		int x,y,z;
		scanf("%d%d%d",&x,&y,&z);
		s[x+1][y+1]+=z;
	}
	for(int i=1;i<=u;++i){
		for(int j=1;j<=u;++j){
			s[i][j]=s[i][j]+s[i][j-1]+s[i-1][j]-s[i-1][j-1];
		}
	}
	for(int i=r;i<=u;++i){
		for(int j=r;j<=u;++j){
			int tm=s[i][j]-s[i][j-r]-s[i-r][j]+s[i-r][j-r];
			ans=max(ans,tm);
		}
	}
	cout<<ans<<endl;
	return 0;
}

  

 

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

BZOJ1218 [HNOI2003]激光炸弹

BZOJ-1218-[HNOI2003]激光炸弹

bzoj1218: [HNOI2003]激光炸弹

bzoj 1218: [HNOI2003]激光炸弹

bzoj1218: [HNOI2003]激光炸弹

BZOJ1218: [HNOI2003]激光炸弹