井室后人:如果你被Sub1 hack掉了
查看原帖
井室后人:如果你被Sub1 hack掉了
534898
202002s楼主2025/7/18 22:29

万一同一个地点有两个目标呢?

所以是mp[tx+1][ty+1]+=v ,

而非 mp[tx+1][ty+1]=v.

附AC代码。

#include<bits/stdc++.h>
using namespace std;
int m,n,v,x,y,tx,ty,mp[5432][5432],s[5432][5432],ans;
int main(){
	cin>>n>>m,x=y=m;
	for(int i=1;i<=n;i++)cin>>tx>>ty>>v,mp[1+tx][1+ty]+=v,x=max(x,1+tx),y=max(y,1+ty);
	for(int i=1;i<=x;i++)for(int j=1;j<=y;j++)s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+mp[i][j];
	for(int i=m;i<=x;i++)for(int j=m;j<=y;j++)ans=max(ans,s[i][j]-s[i-m][j]-s[i][j-m]+s[i-m][j-m]);
	cout<<ans;
	return 0;
}
2025/7/18 22:29
加载中...