[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 }
View Code

 

posted @ 2017-01-21 09:28  KingSann  阅读(118)  评论(0)    收藏  举报