当前位置: 首页 > news >正文

进击的奶牛

题目

进击的奶牛

题意

  1. 通过二分查找算法找到一个最小间距x,使得在数组a中选出的k个数两两之间的间距都不小于x,并且x尽可能大。最后输出这个最大的x值。

思路

  1. 程序通过循环依次获取了n个整数,存储在数组a中。
  2. .然后,程序对数组a进行了排序,以便进行二分查找。
  3. 接着,程序使用二分查找算法来寻找满足条件的最小间距。在二分查找的过程中,通过调用check函数来判断当前的间距m是否满足条件。
  4. 在check函数中,程序遍历数组a,计算相邻元素之间的间距,并统计满足条件的间距数量。
  5. 最后,程序输出满足条件的最小间距ans。

坑点

  1. l和r边界问题

算法一:二分

实现步骤
  1. 程序通过循环依次获取了n个整数,存储在数组a中。
  2. .然后,程序对数组a进行了排序,以便进行二分查找。
  3. 接着,程序使用二分查找算法来寻找满足条件的最小间距。在二分查找的过程中,通过调用check函数来判断当前的间距m是否满足条件。
  4. 在check函数中,程序遍历数组a,计算相邻元素之间的间距,并统计满足条件的间距数量。
  5. 最后,程序输出满足条件的最小间距ans。
代码
#include<bits/stdc++.h>
using namespace std;
int n,k,a[100010],ans;
bool check(int x)
{int d=a[1],sum=1;for(int i=2;i<=n;i++){if(a[i]-d>=x){sum++;d=a[i];} }return sum>=k;
}
int main()
{cin>>n>>k;for(int i=1;i<=n;i++){cin>>a[i];}int l=1,r=1e9;sort(a+1,a+n+1);while(l<=r){int m=l+r>>1;if(check(m)){ans=m;l=m+1;}else{r=m-1;}}cout<<ans;return 0;
}

相关文章:

进击的奶牛

题目 进击的奶牛 题意 通过二分查找算法找到一个最小间距x&#xff0c;使得在数组a中选出的k个数两两之间的间距都不小于x&#xff0c;并且x尽可能大。最后输出这个最大的x值。 思路 程序通过循环依次获取了n个整数&#xff0c;存储在数组a中。.然后&#xff0c;程序对数组a进…...

12月27日,每日信息差

以下是2023年12月27日的8条信息差 第一、小米公司&#xff1a;小米汽车正式加入小米“人车家全生态”&#xff0c;随着小米汽车的即将发布&#xff0c;小米“人车家全生态”也实现了真正闭环 第二、吉利将于2024年初发射11颗卫星&#xff0c;吉利银河E8率先搭载卫星通信技术。…...

【赠书第14期】AI短视频制作一本通:文本生成视频+图片生成视频+视频生成视频

文章目录 前言 1 前期准备 2 拍摄与录制 3 后期编辑 4 技巧与注意事项 5 推荐图书 6 粉丝福利 前言 随着智能技术的迅猛发展&#xff0c;AI 短视频制作成为了一种新兴而创新的表达方式&#xff0c;广泛应用于社交媒体、广告营销、教育培训等领域。本文将介绍 AI 短视频…...

简单工厂设计模式(计算器实例优化)

简单工厂设计模式&#xff08;计算器实例优化&#xff09; 介绍为什么采用面向对象编程而不是面向过程呢&#xff1f;实例讲解业务层划分出来逻辑层继承简单工厂&#xff1a;&#xff08;多态&#xff09;业务层&#xff1a;&#xff08;解耦合&#xff09;主控制台 总结 介绍 …...

iconify图标集离线使用方案简介

1.需求描述 前端项目&#xff0c;技术栈使用Vue3Element Plus&#xff0c;参考了ruoyi-vue-pro项目与vue-element-plus-admin项目&#xff0c;封装了一个Icon组件&#xff0c;图标使用的是iconify,项目部署在内网环境&#xff0c;不能连接互联网&#xff0c;需要部署一套iconi…...

java基础之理解多态

目录 简单理解 满足多态的三个条件 有类继承或者接口实现 子类要重写父类的方法 父类的引用指向子类的对象。 代码示例 动态多态 静态多态 个人观点 简单理解 简单理解就是&#xff0c;同一操作作用于不同的对象&#xff0c;可以有不同的解释&#xff0c;产生不同的执…...

第二证券:A股市场放量反弹 跨年行情或启动

沪指日线等级放量反弹&#xff0c;周四收中阳线成功站上20日均线&#xff0c;底部结构或可树立。创业板指大涨近4%&#xff0c;日线MACD出现底违反&#xff0c;多方动能较强&#xff0c;中等级反弹行情或在酝酿。月线来看&#xff0c;12月创业板指探底上升出现较长下影&#xf…...

web漏洞与修复

一、web漏洞 检测到目标X-Content-Type-Options响应头缺失 详细描述X-Content-Type-Options HTTP 消息头相当于一个提示标志&#xff0c;被服务器用来提示客户端一定要遵循在 Content-Type 首部中对 MIME 类型 的设定&#xff0c;而不能对其进行修改。这就禁用了客户端的 MIM…...

基于Java+SpringBoot+vue实现图书借阅管理系统

基于JavaSpringBootvue实现图书借阅和销售商城一体化系统 &#x1f345; 作者主页 程序设计 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 文章目录 基于JavaSpringBootvue实现图书借阅和销售商城一体化…...

xml文件学习(xml格式)可扩展标记语言(Extensible Markup Language)

XML 教程 文章目录 XML 文件学习1. XML 概述1.1 什么是 XML&#xff1f;1.2 XML 有什么作用&#xff1f; 2. XML 基本结构1. 声明2. 元素3. 属性4. 文本5. 注释 3. XML 高级知识3.1 XML 命名空间3.2 XML 架构3.3 XML 工具3.4 XML 技术 4. XML 应用实例 XML 文件学习 XML&#…...

nodejs+vue+ElementUi家政服务系统c90g5

项目中登录模块用到token家政服务平台有管理员&#xff0c;雇主&#xff0c;雇员三个角色。管理员功能有个人中心&#xff0c;雇主管理&#xff0c;雇员管理&#xff0c;资料认证管理&#xff0c;项目类型管理&#xff0c;服务项目管理&#xff0c;需求信息管理&#xff0c;服务…...

数据库(Database)基础知识

什么是数据库 数据库是按照数据结构来组织、存储和管理数据的仓库&#xff0c;用户可以通过数据库管理系统对存储的数据进行增删改查操作。 数据库实际上是一个文件集合&#xff0c;本质就是一个文件系统&#xff0c;以文件的方式&#xff0c;将数据保存在电脑上。 什么是数据…...

QT应用篇 二、QML用Image组件实现Progress Bar 的效果

QT应用篇 一、QT上位机串口编程 二、QML用Image组件实现Progress Bar 的效果 三、QML自定义显示SpinBox的加减按键图片及显示值效果 文章目录 QT应用篇前言一、qml需求二、使用组件1.Image组件2.Image中fillMode的使用例子 总结 前言 记录自己学习QML的一些小技巧方便日后查找…...

SElinux工作原理简介并演示chcon、semanage、restorecon的使用方法

目录 一.SElinux工作原理简介 1.system_u 2.object_r 3.httpd_sys_content_t 4.s0 二.SElinux策略的具体使用详情 1.restorecon 2.semanage 3.chcon 一.SElinux工作原理简介 通过mac方式管理进程&#xff0c;管理的目标是进程是否具有读取权限的文件&#xff08;文件…...

表情串转换

前言 NWAFU 2021阶段二 D 一、题目描述 题目描述 在一个字符串中&#xff0c;设置了由‘/’前导字符和某些特定字母构成的转义子字符串&#xff0c;如“/s”、“/f”、“/c”等用于表示特殊表情符号。现要求编写一个函数&#xff0c;将给定字符串中的转义字符串转换为表情字…...

【娱乐小技巧】网页旋转90° 3步搞定

一、按F12,打开控制台&#xff1b; 二、点击号&#xff1b; 插入新body; 三、粘贴代码 -webkit-transform: rotate(90deg);小结&#xff0c;角度值可以自选&#xff1b; 代码的效果&#xff1a;...

移动管理系统软件哪家好?它是如何帮助企业降本增效的?

现在很多管理系统都可以用移动设备接入&#xff0c;最常见的就是手机。只要给管理系统创建一个微信小程序接口&#xff0c;那么要使用系统功能的时候直接打开微信小程序就可以了。例如我们小区的物业巡检就是通过微信扫码打开巡检工单记录信息的&#xff0c;直接用巡检保安自己…...

电脑表格文件丢失如何找回?3个方法拯救丢失的文件!

“太难了&#xff01;我辛辛苦苦在电脑上做的表格&#xff0c;不知道什么原因突然就没有了&#xff0c;有什么方法可以找回丢失的表格文件吗&#xff1f;快帮帮我吧&#xff01;” 在日常工作中&#xff0c;很多电脑用户可能都会用到表格文件&#xff0c;这往往记载了大量的重要…...

VSCode 如何安装插件的历史版本

背景 在日常开发过程中&#xff0c;我们可能会遇到新版VSCode插件存在问题&#xff0c;无法正常工作的情况。这种情况下&#xff0c;一种可行的解决方案就是安装插件的历史版本。VSCode 插件默认安装的都是插件最新的版本&#xff0c;例如下面 vscode-styled-compoents 插件 本…...

关于edge浏览器以及插件推荐

目录 广告拦截和隐私工具 密码管理器 生产力和组织工具 写作和语法工具 购物助手 娱乐和个性化 安全性和VPN 开发者工具 其他实用工具 Microsoft Edge 是一款基于Chromium开源项目的现代网络浏览器&#xff0c;由微软开发。它是Internet Explorer的继任者&#xff0c;…...

【使用高斯原理推导缆绳-拖曳伞系统的动态模型】使用拖缆系统进行微型空中飞行器的空中回收研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &…...

本地Cookie管理终极指南:Get cookies.txt LOCALLY完全解析

本地Cookie管理终极指南&#xff1a;Get cookies.txt LOCALLY完全解析 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在当今数字时代&#xff0c;…...

大空间中庭水平防火卷帘防火分隔技术应用探讨

摘要大空间中庭广泛应用于商业综合体、大型会展中心、高端写字楼等现代公共建筑&#xff0c;具备通透开阔、流线连贯、美观性强的空间优势&#xff0c;但多层贯通的结构特性极易造成火灾烟气快速扩散、火势纵向蔓延&#xff0c;大幅提升建筑消防防控难度。水平防火卷帘作为柔性…...

AI与XR融合实战:Mosaic-Bridge中间件架构与性能调优

1. 项目概述&#xff1a;一个连接AI与XR世界的桥梁 最近在探索AI与扩展现实&#xff08;XR&#xff09;融合的落地场景时&#xff0c;我遇到了一个非常有意思的开源项目—— MosaicXR-AI/mosaic-bridge 。乍一看这个标题&#xff0c;你可能会觉得它只是一个普通的“桥接”工…...

别让电流倒灌毁了你的MCU!手把手教你用肖特基二极管和MOS管搞定电平转换电路

嵌入式系统电平转换电路设计实战&#xff1a;阻断电流倒灌的5种硬件方案 当3.3V单片机需要驱动5V传感器时&#xff0c;或者5V逻辑器件要与1.8V处理器通信时&#xff0c;电平转换电路就成了系统稳定的关键屏障。去年我在工业控制器项目中就曾遇到一个典型问题&#xff1a;当5V外…...

MetaClaw:基于MAML的元学习框架,让AI智能体快速适应新任务

1. 项目概述&#xff1a;当“元学习”遇上“智能体”&#xff0c;一个开源框架的诞生最近在智能体&#xff08;Agent&#xff09;和元学习&#xff08;Meta-Learning&#xff09;的交叉领域&#xff0c;发现了一个挺有意思的开源项目——MetaClaw。这个项目来自 aiming-lab&…...

基于CircuitPython与NeoTrellis的DIY可编程声音板:从硬件搭建到软件编程全解析

1. 项目概述&#xff1a;打造你的专属可编程声音板如果你对嵌入式开发感兴趣&#xff0c;想亲手制作一个既炫酷又实用的交互设备&#xff0c;那么这个基于CircuitPython和NeoTrellis的DIY可编程声音板项目&#xff0c;绝对是一个不容错过的实践机会。简单来说&#xff0c;这是一…...

基于PyPortal与CircuitPython的桌面空气质量监测站DIY指南

1. 项目概述&#xff1a;打造你的桌面级空气质量监测站如果你和我一样&#xff0c;对身边的空气质量有点“强迫症”&#xff0c;总想知道窗外空气到底怎么样&#xff0c;但又不想总去翻手机App&#xff0c;那么这个项目就是为你量身定做的。我们将利用一块名为PyPortal的开发板…...

告别系统默认驱动:手把手教你为沁恒CH38x/CH35x PCIe串口卡加载官方Linux驱动(含常见错误排查)

告别系统默认驱动&#xff1a;手把手教你为沁恒CH38x/CH35x PCIe串口卡加载官方Linux驱动&#xff08;含常见错误排查&#xff09; 在嵌入式开发和工业控制领域&#xff0c;串口通信的稳定性和功能完整性往往直接影响整个系统的可靠性。当使用沁恒CH38x/CH35x系列PCIe串口卡时…...

从省级技术中心认证,看嵌入式企业如何以系统工程能力赋能开发者

1. 从“省级企业技术中心”认定&#xff0c;看一家嵌入式企业的硬核实力最近&#xff0c;在河北省发改委公布的2023年省级企业技术中心认定名单里&#xff0c;我看到了一个熟悉的名字——保定飞凌嵌入式技术有限公司。对于圈内人来说&#xff0c;“飞凌嵌入式”这个名字并不陌生…...