激光炸弹c++

题目

输入样例:

2 1
0 0 1
1 1 1

输出样例:

1

思路

        由题知本题要求某个区间内数的和,联想到二维前缀和。我们可以先使用二维前缀和模板计算各区间的价值。然后枚举以某点为右下角,大小为R*R的正方形价值,取最大值。
        有几点需要注意。一个是本题的下标是从0开始的,而二维前缀和模板从1开始,因此下标要变一下。另一个是炸弹爆炸的范围可能比地图区间大,为了更好计算一个爆炸范围内的总价值,可以把地图“扩大”,扩大的地图目标价值为0。最后一个是题目说的目标是在格点而不是格子内的,炸弹只能“摧毁一个包含R×R个位置的正方形内的所有目标”,边上的不可以;对此我们可以把目标“移到”格子中间,那么一个能摧毁2 x 2范围内的炸弹可以炸掉四个格子里的目标。

代码
#include<bits/stdc++.h>
using namespace std;

const int N = 5010;
int a[N][N];

int main()
{
  int n, r, x, y, w;
  cin >> n >> r;
  //xi,yi <= 5000,如果爆炸范围大于5000时,扩大地图也不会增加摧毁的总价值
  r = min (5001, r);
  //用于减少二维前缀和的计算
  int cx = r, cy = r;
  while (n --)
  {
    cin >> x >> y >> w;
    a[++x][++y] += w;
    cx = max(cx, x), cy = max(cy, y);
  }
  
//二维前缀和模板
  for (int i = 1; i <= cx; i ++)
  for (int j = 1; j <= cy; j ++)
  a[i][j] += (a[i][j - 1] + a[i - 1][j] - a[i- 1][j - 1]);
  
  int value = 0;
  for (int i = r; i <= cx; i ++)
  {
    for (int j = r; j <= cy; j ++)
    {
      value = max(value, a[i][j] - a[i - r][j] - a[i][j - r] + a[i - r][j - r]);
    }
  }
  
  cout << value;
  return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/433534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# LaMa Image Inpainting 图像修复 Onnx Demo

目录 介绍 效果 模型信息 项目 代码 下载 LaMa Image Inpainting 图像修复 Onnx Demo 介绍 gihub地址&#xff1a;https://github.com/advimman/lama &#x1f999; LaMa Image Inpainting, Resolution-robust Large Mask Inpainting with Fourier Convolutions, WAC…

双体系Java学习之关键字,标识符以及命名规范

重新开始从Java基础开始学&#xff0c;保持每周两更的状态&#xff0c;刚开学事情有点多。 关键字 标识符 命名规范

不用下载的工具却能保存西瓜视频的原画视频,支持无水印!

近年来&#xff0c;西瓜视频可谓是炙手可热&#xff0c;得益于其强大的后盾——抖音&#xff0c;以及推出的"中视频计划"。这个计划慷慨地斥资20亿用于支持视频制作者&#xff0c;因此在西瓜视频平台上&#xff0c;我们目睹了大量优质的长视频如雨后春笋般涌现。 对于…

云计算 3月6号 (系统中发送邮件)

系统中发送邮件 linux 系统中自带了内部邮件系统&#xff0c;可以通过mail命令进行邮件发送及接受 # 安装mailx yum install -y mailx 1.1 发送邮件给系统用户 # 方式1 mail -s "邮件标题" 收件人 邮件内容 ctrl d 结束发送 ​ # 方式2 echo 内容 | mail -s "…

SQL中如何添加数据

SQL中如何添加数据 一、SQL中如何添加数据&#xff08;方法汇总&#xff09;二、SQL中如何添加数据&#xff08;方法详细解说&#xff09;1. 使用SQL脚本&#xff08;推荐&#xff09;1.1 在表中插入1.1.1 **第一种形式**1.1.2 **第二种形式**SQL INSERT INTO 语法示例SQL INSE…

linux实现远程文件夹共享-samba

目录 问题描述Samba如何挂载常用参数临时挂载实例一种长期挂载方法&#xff08;已失败&#xff0c;仅供参考&#xff09;查看挂载取消挂载umount失败 问题描述 我的代码需要访问存在于两个系统&#xff08;win和linux&#xff09;的文件夹&#xff0c;我不是文件夹的创建者&am…

【高效开发工具系列】vimdiff简介与使用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Vant组件中van-overlay页面太长无法滚动

内容太长&#xff0c;发现电脑中滚轮可以滚动&#xff0c;但是手机端手指滑动动不了。 在组件上加lock-scroll <van-overlay :lock-scroll"false"> 默认为true 注&#xff1a;我使用的版本是4.8.5&#xff0c;据说2版本不生效。

TinyEMU编译与使用

TinyEMU编译与使用 1 介绍2 准备工作3 编译TinyEMU3.1 安装依赖库3.2 编译 4 运行TinyEMU4.1 在线运行4.2 离线运行 5 共享目录5.1 修改root_9p-riscv64.cfg5.2 启动TinyEMU5.3 执行挂载命令 6 TinyEMU命令帮助 1 介绍 原名为riscvemu&#xff0c;于2018-09-23&#xff0c;改为…

Windows安装Go语言及VScode配置

最近搞自己的网站时突然想起来很多上学时的事&#xff0c;那会美国总统还是奥巴马&#xff0c;网页课教的是DreamWeaver跟Photoshop&#xff0c;其他语言像PHP、Java8、Python都有学一点&#xff0c;讲究一个所见即所得。虽然是信管专业那时和斌桑班长对新语言很感兴趣&#xf…

企业级Avatar道具解决方案

美摄科技&#xff0c;作为业界领先的多媒体解决方案提供商&#xff0c;近日推出了一款革命性的Avatar道具解决方案&#xff0c;旨在帮助企业打造独特且高度个性化的数字形象&#xff0c;从而提升企业品牌的吸引力和影响力。 这款解决方案的核心在于其先进的单摄像头Avatar生成…

C++ 位运算OJ

目录 位运算常用操作&#xff1a; 1、 191. 位1的个数 2、 338. 比特位计数 3、 461. 汉明距离 4、136. 只出现一次的数字 5、 260. 只出现一次的数字 III 6、面试题 01.01. 判定字符是否唯一 7、 268. 丢失的数字 8、 371. 两整数之和 9、 137. 只出现一次的数字 II …

【C++实战项目】Date日期类 --- 运算符重载的深入探索

&#x1f4f7; 江池俊&#xff1a;个人主页 &#x1f525; 个人专栏&#xff1a;✅C那些事儿 ✅Linux技术宝典 &#x1f305; 此去关山万里&#xff0c;定不负云起之望 文章目录 引言一、为什么需要运算符重载&#xff1f;二、日期类的实现1. 基本框架2. 预备工作3. Date 类…

海外媒体发稿:提升国外影响力的7种汽车媒体推广方法-华媒舍

伴随着全球化发展的推动&#xff0c;汽车市场已经变成世界各地关注的重点领域之一。提升汽车知名品牌在海外的影响力对于企业的发展趋势尤为重要。下面我们就详细介绍7种提升国外影响力的汽车媒体推广方法&#xff0c;协助汽车公司能够更好地进到国外市场。 1.公布知名品牌新闻…

Vue中有哪些优化性能的方法?

Vue是一款流行的JavaScript框架&#xff0c;用于构建交互性强的Web应用程序。在前端开发中&#xff0c;性能优化是一个至关重要的方面&#xff0c;尤其是当应用程序规模变大时。Vue提供了许多优化性能的方法&#xff0c;可以帮助开发人员提升应用程序的性能&#xff0c;从而提升…

【ESP32 IDF】I2C层次结构、I2C协议

文章目录 前言一、I2C的结构层次1.1 怎样在两个设备之间传输数据1.2 I2C如何传输数据1.3 硬件框图1.4 软件层次 二、IIC协议2.1 硬件连接2.2 I2C 总线的概念2.3 传输数据类比2.3 I2C信号2.4 I2C数据的含义 总结 前言 I2C&#xff08;Inter-Integrated Circuit&#xff09;是一…

第 5 章 ROS常用组件静态坐标变换(自学二刷笔记)

5.1.2 静态坐标变换 所谓静态坐标变换&#xff0c;是指两个坐标系之间的相对位置是固定的。 需求描述: 现有一机器人模型&#xff0c;核心构成包含主体与雷达&#xff0c;各对应一坐标系&#xff0c;坐标系的原点分别位于主体与雷达的物理中心&#xff0c;已知雷达原点相对于…

【好书推荐-第九期】Sora核心技术相关书籍《扩散模型:从原理到实战》与《GPT 图解:大模型是怎样构建的》:Sora的两大核心技术,都藏在这两本书里!

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公众号&#xff1a;洲与AI。 &#x1f388; 本文专栏&#xff1a;本文收录…

《Vite 报错》ReferenceError: module is not defined in ES module scope

ReferenceError: module is not defined in ES module scope 解决方案 postcss.config.js 要改为 postcss.config.cjs&#xff0c;也就是 .cjs 后缀。 原因解析 下图提示&#xff0c;packages.json 中的属性 type 设置为 module。所有 *.js 文件现在都被解释为 ESM&#xff…

【vue/组件封装】封装一个带条件筛选的搜索框组件(多组条件思路、可多选)详细流程

引入&#xff1a;实现一个带有筛选功能的搜索框&#xff0c;封装成组件&#xff1b; 搜索框长这样子&#xff1a; 点击右侧筛选图标后弹出层&#xff0c;长这样子&#xff1a; 实际应用中有多组筛选条件&#xff0c;这里为了举栗子就展示一组&#xff1b; 预览&#xff1a;…