3.29 —— edu161 D

news/2025/4/1 0:25:48/文章来源:https://www.cnblogs.com/jjjxs/p/18799184

edu 161D

限时每日一题day23。看了十几分钟感觉只能模拟,看题解后还真是这样。

\(O(n^{2})\) 的链表直接暴力模拟很好想,考虑怎么优化:

优化核心在于在每一轮模拟的过程中,不能直接暴力检查所有仍然存活的怪物,而需要在每一轮中预处理出真正可能在下一轮中被删的怪物集合。

要注意到一个性质:如果在某一轮中,怪物 \(i\) 没有被删,且其左右两侧的邻居都没有被删,那么可以确定怪物 \(i\) 在下一轮中也不会被删除。那么在下一轮就没有必要再去检查这只怪物。

因此,若一个怪物在本轮中没有被删除,则它在下一轮可能会被删除的条件之一是:本轮其左右邻居中的某一个被删除。因此,当某个怪物被删除时,将它的左右邻居加入待删集合(类似 \(bfs\) 扩展)。由于每个怪物只会被删除一次,因此加入集合的总次数不会超过 \(2n\)。总复杂度 \(O(n)\)

code

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工厂车间在岗人数分析预警系统

工厂车间在岗人数分析预警系统基于AI人工智能分析技术,将车间生产区域员工在岗人数进行管理预警,可以实现对厂区的全面覆盖,全天候保障厂区生产安全,建立完善长效的安全生产运营机制。在岗人数分析预警系统嵌入AI人员离岗分析算法,可对车间生产区域内人员的数量进行精确分…

虚拟机vmware16 安装centos8.5 你全流程和详细配置

因为centos8.5 不能使用他自己的源,所以新装的系统默认不能安装软件,需要做一些配置 其二。部份虚拟机新装的不能连网,所以我将今天安装的流程记录以下,如果正好有别人需要,可以看一下我安装的流程第一步,如果不能上网配置。先装虚拟机配成桥接试试,可能是默认上nat 那…

FaceBook OAuth2登录配置

应用必须上架才能正式使用FaceBook developers 后台添加应用配置https://developers.facebook.com 创建应用,應用程式設定 -》 添加IOS包名,添加安卓包名, 應用程式編號,應用程式密鑰 对应服务端配置: FacebookLoginAppId FacebookLoginAppSecret 首次登录访问提示错误,错…

itdog-ping

地址 https://www.itdog.cn/ping/ 概览作者:mohistH 出处:https://www.cnblogs.com/pandamohist/ 本文版权归作者和博客园共有,谢绝一切形式的转载,否则将追究法律责任。

某客户RAID出现Multi-bit ECC error错误

某客户反馈,BMC带外有Major级别的告警,告警内容如下可以看出SEL指向RAID卡,产生告警时间为2024年11月14日。检查RAID卡日志,找2024年11月14号发生的事件。从RAID卡事件可以看出来RAID卡从2024年11月9号到2024年11月14号,5天内并没有记录任何日志(如下图)一直到2024年11月…

直播软件怎么开发,Redis触发扩容的两种情况

直播软件怎么开发,Redis触发扩容的两种情况1、如果没有fork子进程在执行RDB或者AOF的持久化,一旦满足ht[0].used >= ht[0].size,此时触发扩容;2、如果有fork子进程在执行RDB或者AOF的持久化时,则需要满足ht[0].used > 5 * ht[0].size,此时触发扩容。下面将结合源码…

怎么快速干净拆焊直插元件的方法成都承接电路板设计

我处提供优质的单片机、PLC、电路板、控制器/箱、仪器仪表、机电设备或系统、自动化、工控、传感、数据采集、自控系统、控制系统、物联网、电子产品、软件、APP开发设计定制服务(业务www点yonko-tech点com),在做项目的时候,拆除电路板上的元件也是有的事情,拆元件说难不难…

flutter:用http库下载文件

一,安装第三方库 地址: https://pub.dev/packages/http 编辑pubspec.yaml: dependencies:flutter:sdk: flutterpath_provider: ^2.1.5http: ^1.3.0 然后点击 pub get 二,代码: import package:flutter/material.dart; import package:http/http.dart show get; import packa…

flutter:从接口获取json数据后并解析

一,代码: dart代码:model class GoodsListItem {String name;String desc;int id;GoodsListItem(this.name,this.desc, this.id) {}GoodsListItem.fromJson(Map<String, dynamic>json):name=json["name"],desc = json["desc"],id = json["id&q…

图解 CSS 选择器

https://zhuanlan.zhihu.com/p/715717977CSS 选择器用于选择 HTML 元素并将样式应用于它们。使用这些选择器,可以定义特定条件下应用哪些样式。除了普通的选择器外,还有伪类和伪元素,用于选择具有特定状态或特定部分的元素,并将样式应用于它们。本文将通过图文并茂的方式展…

二分图学习笔记

使用题单:二分图 - 从入门到入土。 二分图概念 对于一个图,如果能够把它的点集恰好分成两个部分,使得这第一个部分里面的点两两不连边,第二个部分里面的点也两两不连边,则该图是二分图。或者说每一条边都横跨了两个集合。 举个例子:这个图是二分图,因为我们可以将它分成…

SciTech-EECS-Signal-OpAmp(Operational Amplifier,运算放大器): Gain增益放大倍数计算公式 + 分流器采样百安级大电流的微电压信号 + 微电压信号放大

SciTech-EECS-Signal-OpAmp(Operational Amplifier,运算放大器): Gain增益放大倍数计算公式## 分流器采样百安级大电流的微电压信号 OpAmp(运算放大器)微电压信号放大 如上图所示,\(\large V_{out} = V_{in} \times (1+ \dfrac{R_{2}}{R_{1}})\) TL431+MOS管,充满自停的充电器…