[bzoj1218]激光炸弹
裸暴力。。(某无线电发射器)
加个前缀和卡一下常就行

1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 using namespace std; 7 8 int v[5100][5100],n,r,x,y,z; 9 10 int main(){ 11 scanf("%d%d",&n,&r); 12 for(int i=1;i<=n;i++){ 13 scanf("%d%d%d",&x,&y,&z); 14 v[x+1][y+1]=z; 15 } 16 for(int i=1;i<=5001;i++){ 17 for(int j=1;j<=5001;j++){ 18 v[i][j]+=v[i][j-1]; 19 } 20 } 21 for(int i=1;i<=5001;i++){ 22 for(int j=1;j<=5001;j++){ 23 v[i][j]+=v[i-1][j]; 24 } 25 } 26 z=0; 27 for(int i=1;i<=5001;i++){ 28 for(int j=1;j<=5001;j++){ 29 int x=min(5000,i+r-1), 30 y=min(5000,j+r-1); 31 z=max(z,v[x][y]-v[i-1][y]-v[x][j-1]+v[i-1][j-1]); 32 } 33 } 34 printf("%d\n",z); 35 }