一道很好的二维前缀和模板题。

什么是二维前缀和?

从这张图可以看出前缀和的求法:

Map[i][j]=Map[i-1][j]+Map[i][j-1]-Map[i-1][j-1]+Map[i][j];

这道题的代码:

#include<bits/stdc++.h>
using namespace std;
const int MAXN=5000+10;
int n,r;
int Map[MAXN][MAXN];//数组开的下
inline int read()
{
int tot=0;
char c=getchar();
while(c<'0'||c>'9')
c=getchar();
while(c>='0'&&c<='9')
{
tot=tot*10+c-'0';
c=getchar();
}
return tot;
}
int main()
{
int x,y,v;
n=read();r=read();
for(int i=1;i<=n;i++)
{
x=read();y=read();v=read();
Map[x+1][y+1]=v;
}
for(int i=1;i<=5000;i++)//因为地图最大是5000*5000的
for(int j=1;j<=5000;j++)
Map[i][j]=Map[i-1][j]+Map[i][j-1]-Map[i-1][j-1]+Map[i][j];//求出这张图的二维前缀和
int ans=0;
for(int i=0;i<=5000-r;i++)
for(int j=0;j<=5000-r;j++)//放置炸弹的范围,要减去边长,否则肯定不是最优的
ans=max(ans,Map[i+r][j+r]-Map[i][j+r]-Map[i+r][j]+Map[i][j]);//先找到爆炸范围中的总价值,再取最大值
cout<<ans<<endl;
return 0;
}

最新文章

  1. iOS 直播-网速监控
  2. jeditable参数详解
  3. TP控制器(Controller)
  4. [RM HA4] RM状态存储与还原原理详解
  5. [DevExpress]ChartControl之时间轴示例
  6. 11235 - Frequent values
  7. asp.net常用函数
  8. 手把手教你去ECSHOP版权 powered by ecshop
  9. java常用方法
  10. Missing Number, First Missing Positive
  11. SAP PI入门
  12. Android activity创建三部曲
  13. c#核心基础-委托
  14. leetcode每日刷题计划-简单篇day8
  15. Codeforces gym101612 E.Equal Numbers(贪心)
  16. Vue之组件使用(一)
  17. 从零开始学JavaScript二(基本概念)
  18. 学号20155308 2016-2017-2 《Java程序设计》第7周学习总结
  19. Alpha Scrum5
  20. Zookeeper(四)Hadoop HA高可用集群搭建

热门文章

  1. MySQL Data Directory -- Creating file-per-table tablespaces outside the data directory
  2. js实现上传文件夹
  3. IDEA工具的安装、破解与配置
  4. Linux下查看文件和文件夹大小 df,du命令
  5. fsLayuiPlugin数据表格弹出form表单说明
  6. Chrome浏览器报错:ERR_UNSAFE_PORT
  7. mysql -- 清空表中数据
  8. Everything 的高级用法
  9. rc.local 注意事項,call python script, file position
  10. 漫谈Objective-C在语法上的改进