扫地机器人(二分算法+贪心算法)
1. if(robot[i]-len<=sweep)这个代码的意思是——如果机器人向左移动len个长度后,比现在sweep的位置(现在已经覆盖的范围)还要靠左,就是覆盖连续不起来,呢么这个len就是有问题的,退出函数,再继续循环。
2. 显然当每个机器人清扫的范围相同时,所用时间最小,所以这时候可以想到用二分算法,check条件(判断条件)是每个清扫范围都能被扫到。
输入:
10 3
5
2
10
输出:6
输出机器人清扫玩完所有区域至少花费的时间.
#include<bits/stdc++.h>using namespace std;int robot[100010];int n,k;
bool check(int len){int sweep=0;int i;for(i=1;i<=k;i++){if(robot[i]-len<=sweep){if(robot[i]<=sweep){sweep=robot[i]+len-1;}else{sweep=sweep+len;}}else{return 0;}}return sweep>=n;
}
int main()
{scanf("%d",&n);scanf("%d",&k);int i;for(i=1;i<=k;i++){scanf("%d",&robot[i]);}sort(robot+1,robot+k+1);int m,l=0,r=n,ans;while(l<=r){m=(r+l)/2;if(check(m)){r=m-1;ans=m;}else{l=m+1;}}printf("%d",(ans-1)*2);return 0;
}
3.if(robot[i]<=sweep)
这个代码的意思是robot[i]此时所处的位置在已经被上一个机器人清扫过的位置了,所以此时sweep的值为robot[i]向右走的len然后减去1(减去robot起始位置)
否则的话robot[i]此时所处的位置为上一个机器人还未清扫过的位置,此时这个机器人会优先往左清扫,即sweep=sweep+len;
4.sort(robot+1,robot+k+1);
sort函数的两个参数是排序的起点和终点位置,robot加1的原因是数组是从1开始排列的,而不是从0开始排列的。
5.if(check(m)){
r=m-1}是因为如果此时的m满足清扫的条件,呢么接下来应该找比m更小的范围(对应更小的时间)即往m的左区间更小的数去找。即r=m-1。
注:代码来自lanqiao6628158049
相关文章:

扫地机器人(二分算法+贪心算法)
1. if(robot[i]-len<sweep)这个代码的意思是——如果机器人向左移动len个长度后,比现在sweep的位置(现在已经覆盖的范围)还要靠左,就是覆盖连续不起来,呢么这个len就是有问题的,退出函数,再…...

Unity中创建Ultraleap 3Di交互项目
首先,创建新的场景 1、创建一个空物体,重命名为【XP Leap Provider Manager】,并在这个空物体上添加【XR Leap Provider Manager】 在物体XP Leap Provider Manager下,创建两个子物体Service Provider(XR)和Service Provider(…...

【Matlab】音频信号分析及FIR滤波处理——凯泽(Kaiser)窗
一、前言 1.1 课题内容: 利用麦克风采集语音信号(人的声音、或乐器声乐),人为加上环境噪声(窄带)分析上述声音信号的频谱,比较两种情况下的差异根据信号的频谱分布,选取合适的滤波器指标(频率指标、衰减指标),设计对应的 FIR 滤波器实现数字滤波,将滤波前、后的声音…...

C数据类型
目录 1. 数据类型分类 2. 整数类型 3. 浮点类型 4. void 类型 5. 类型转换 1. 数据类型分类 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。 C 中…...

JAVA和Go的不解之缘
JAVA和Go的不解之缘 Java和Go是两种不同的编程语言,它们在语法、特性和设计理念上存在一些明显的异同之处。 1. 语法和特性: Java是一种面向对象的语言,而Go则是一种面向过程的语言。Java拥有类、继承、接口等传统的面向对象特性ÿ…...

(免费领源码)java#SSM#MySQL汽车车辆管理系统68424-计算机毕业设计项目选题推荐
摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作…...

25考研每日的时间安排
今天要给大家分享一下25考研每日的时间安排。 没有完美的计划,只有合适的计划。 仅供参考 很多人说复习不要只看时长而是要看效率,所以学多长时间不重要,重要的高效率完成任务。 完美的计划 这个计划看起来很完美,从早到晚有学习…...

小程序直播项目搭建
项目功能: 登录实时聊天点赞功能刷礼物取消关注用户卡片直播带货优惠券直播功能 项目启动: 1 小程序项目创建与配置: 第一步 需要登录小程序公众平台的设置页面进行配置: 首先需要是企业注册的才可以个人不能开通直播功能。服务类…...

《Python 简易速速上手小册》第10章:Python 项目实战(基于最新版 Python3.12 编写)
注意:本《Python 简易速速上手小册》 核心目的在于让零基础新手「快速构建 Python 知识体系」 文章目录 <mark >注意:本《Python 简易速速上手小册》<mark >核心目的在于让零基础新手「快速构建 Python 知识体系」 10.1 项目规划和结构10.1…...

防御保护第六天笔记
一、防火墙的用户认证 用户、行为、流量 --- 上网行为管理三要素 防火墙管理员登录认证的作用有两点:检验身份的合法性,划分身份权限 用户认证 --- 上网行为管理的一部分 用户认证分类有以下三类: 1、上网用户认证 --- 三层认证 --- 所有的…...

【yaml 文件使用】pytest+request 框架中 yaml 配置文件使用
又来进步一点点~~ 背景:最近在学习pytestrequest框架写接口测试自动化,使用yaml文件配置更方便管理用例中的数据,这样更方便 yaml 介绍: 什么是 yaml 文件:YAML 是 “YAML Ain’t a Markup Language”(Y…...

浅析Redis②:命令处理之epoll实现(中)
写在前面 Redis作为我们日常工作中最常使用的缓存数据库,其重要性不言而喻,作为普通开发者,我们在日常开发中使用Redis,主要聚焦于Redis的基层数据结构的命令使用,很少会有人对Redis的内部实现机制进行了解,…...

react如果创建了类似于 Icketang元素,那么该如何实现 Icketang类
要实现一个类似于 "Icketang" 的类,首先需要考虑该类的属性和方法。根据上下文,可以假设 "Icketang" 是一个卡片或票据类,可以包含以下属性和方法: 属性: card_number:卡片编号amoun…...

「数字化转型」企业架构:成功业务转型的关键
在麦肯锡最近的一篇文章中,他们雄辩地论证了企业架构对数字转型的重要性。但他们也对实践状况提出了一些重要的批评。为了真正有效地支持数字转型,许多企业架构实践需要改变他们的行为。 一些EA实践首先关注的是详细记录企业的当前状态。这通常是我们在许…...

AI开启手机摄影新时代:三星Galaxy S24 Ultra影像解读
在全球科技领域,生成式AI无疑是当前最为炙手可热的亮点,不少行业专家和业界领袖都纷纷预言,生成式AI技术必将重塑千行百业。 那么是否有人想过,如果生成式AI技术被应用在智能手机上,又会带来怎样翻天覆地的变革&#x…...

Linux ---- Shell编程之函数与数组
目录 一、函数 1、函数的基本格式 2、查看函数列表 3、删除函数 4、函数的传参数 5、函数返回值 实验: 1.判断输入的ip地址正确与否 2. 判断是否为管理员用户登录 6、函数变量的作用范围 7、函数递归(重要、难点) 实验࿱…...

Python系列(9)—— 比较运算符
在Python中,比较运算符用于比较两个值的大小关系,如等于、不等于、大于、小于等。这些运算符可以帮助我们进行各种比较操作,并返回布尔值(True或False)。下面我们将详细介绍Python中的比较运算符。 等于运算符&#x…...

uni-app h5对接 thinkphp5接口跨域
uni-app h5对接 thinkphp5接口跨域 问题描述 请求接口 提示 Access to XMLHttpRequest at http://******* from origin http://localhost:8091 has been blocked by CORS policy: Response to preflight request doesnt pass access control check: It does not have HTTP o…...

react-jss书写样式
目录 react-jss的使用 react-jss的使用 实现组件化样式、动态样式、避免样式冲突 npm install react-jss yarn add react-jss// 使用 import React from react; import { createUseStyles } from react-jss;const useStyles createUseStyles({myButton: {color: green,margi…...

Oracle PL/SQL Programming 第3章:Language Fundamentals 读书笔记
总的目录和进度,请参见开始读 Oracle PL/SQL Programming 第6版 每种语言(无论是人类语言还是计算机语言)都有语法、词汇和字符集。 为了使用该语言进行交流,您必须学习管理其使用的规则。 我们许多人对学习新的计算机语言持谨慎…...

【Spring Boot 3】【@Scheduled】动态修改定时任务时间
【Spring Boot 3】【@Scheduled】动态修改定时任务时间 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习…...

WordPress如何自定义日期和时间格式?附PHP日期和时间格式字符串
WordPress网站在很多地方都需要用到日期和时间,那么我们应该在哪里设置日期和时间呢?又如何自定义日期和时间格式呢?下面boke112百科就跟大家一起来学习一下PHP标准化的日期和时间格式字符串。 特别说明:格式字符是标准化的&#…...

log4j2 配置入门介绍
配置 将日志请求插入到应用程序代码中需要进行大量的计划和工作。 观察表明,大约4%的代码专门用于日志记录。因此,即使是中等规模的应用程序也会在其代码中嵌入数千条日志记录语句。 考虑到它们的数量,必须管理这些日志语句,而…...

深入Pyecharts:桑基图绘制与炫酷效果实战【第38篇—python:桑基图】
文章目录 深入Pyecharts:桑基图绘制与炫酷效果实战桑基图简介安装 Pyecharts简单桑基图的绘制自定义桑基图的炫酷效果高级样式定制 多组数据桑基图的展示动态桑基图的绘制结合真实数据的桑基图案例导出和分享进阶应用:桑基图与其他图表的组合总结 深入Py…...

RBD —— 不同材质破碎
目录 Working with concrete Chipping Details Proxy geometry Constraints Working with glass Chipping Proxy geometry Constraints Resolving issues with glass fracturing Working with wood Clustering Using custom cutters Working with concrete Concr…...

MySql8的简单使用(1.模糊查询 2.group by 分组 having过滤 3.JSON字段的实践)
MySql8的简单使用(1.模糊查询 2.group by 分组 having过滤 3.JSON字段的实践) 一.like模糊查询、group by 分组 having 过滤 建表语句 create table student(id int PRIMARY KEY,name char(10),age int,sex char(5)); alter table student add height…...

数据监控-Prometheus/Grafana
一、数据监控Prometheus 1、什么是Prometheus Prometheus是由SoundCloud开源监控告警解决方案,从2012年开始编写代码,到2015年github上开源以来,吸引不少用户以及公司的使用。Prometheus作为新一代的开源解决方案,很多理念与Google SRE的运维之道不谋而合。 2、Promet…...

Compose | UI组件(三) | TextField() 输入框组件
文章目录 TextField() 简介TextField() 输入框例子TextField() 输入框添加装饰OutlinedTextField 边框样式输入框BasicTextField 输入框组件 总结 TextField() 简介 在 Compose 中,TextField() 组件表示文本输入框 ExperimentalMaterial3Api Composable fun TextF…...

组件冲突、data函数、组件通信
文章目录 1.组件的三大组成部分 - 注意点说明2.组件的样式冲突(用 scoped 解决)3.data是一个函数4.组件通信1.什么是组件通信?2.不同的组件关系 和 组件通信方案分类 5.prop详解prop 校验①类型校验②完整写法(类型,非…...

【C++杂货铺】详解类和对象 [上]
博主:代码菌-CSDN博客 专栏:C杂货铺_代码菌的博客-CSDN博客 目录 🌈前言🌈 📁 面向对象语言的特性 📁 类 📂 概念 📂 定义 📁 访问限定符 📂分类 &#x…...