BZOJ1218 [HNOI2003]激光炸弹
暴力水题。。敲的好麻烦。
用前缀和可以n^2复杂度
感觉这个题就是由问题,边上的问题不知道数据是怎么算的,反正过了。。。
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 const int maxn = 5005; 6 int d[maxn][maxn]; 7 int main() 8 { 9 int n,r;scanf("%d%d",&n,&r); 10 memset(d,0,sizeof(d)); 11 for(int i = 1;i<=n;++i){ 12 int u,v,w;scanf("%d%d%d",&u,&v,&w); 13 d[u+1][v+1] += w; 14 } 15 for(int i = 1;i<=5001;++i)for(int j = 1;j<=5001;++j) 16 d[i][j] = d[i][j]+d[i-1][j]+d[i][j-1]-d[i-1][j-1]; 17 int ans = 0; 18 for(int i = r;i<=5001;++i)for(int j = r;j<=5001;++j) 19 ans = max(ans,d[i][j]-d[i-r][j]-d[i][j-r]+d[i-r][j-r]); 20 printf("%d\n",ans); 21 return 0; 22 }
弱者究竟为何而战?!