【蓝桥每日一题]-二分类型(保姆级教程 篇3) #路标设置 #跳石头

今天接着讲二分题型

目录

题目:路标设置

 思路: 

题目:跳石头

 思路: 

          

     

题目:路标设置

     

       

思路: 

   
求:放n个路标后的最小空旷指数
二分查找:对空旷指数进行二分
二分依据: 该空旷指数下放的路标数
    

#include <iostream>                      
using namespace std;
int main(){int len,n,k,a[100005],now=0,before=0,l=0,r=0;cin>>len>>n>>k;for(int i=0;i<n;i++){            //a[i]存放每段的距离,之后不需要再计算cin>>now;a[i]=now-before;before=now;if(r<a[i] )  r=a[i];       //r存放最大的a[i]}a[n]=len-before;  if(r<a[n]) r=a[n];if(k==0){                    //特判特殊情况cout<<r;	return 0;}int mid,cnt,tmp,yu;while(l<=r){mid=(l+r)/2,cnt=0,tmp;     //cnt是每个区间a[i]中放置的路标数for(int i=0;i<=n;i++){tmp=a[i];cnt+=tmp/mid;yu=tmp%mid;if(yu==0&&tmp>=mid)cnt--;
//			while(tmp>mid){            //使用除法也可以
//				cnt++;
//				tmp-=mid;
//			}}if(cnt<=k) r=mid-1;            //因为要最小空旷指数,所以用第一类二分模型else l=mid+1;                  }cout<<l;                 //见到l就是第一类二分模型(l哪里没有=):返回第一个重复的数return 0;
}

     

      

题目:跳石头

      

思路: 

    
求:搬n个石头后的最短跳跃的最大值
二分查找:对最短跳跃进行二分
二分依据:该最短跳跃下需要搬走的石头数
    

#include <iostream>                       
#define maxn 500010
using namespace std;
int d,n,m;
int a[maxn];
int l,r,mid,ans;
bool judge(int x){   //x表示当前二分出的距离情况int tot = 0;     //tot记录以当前答案需要移走的实际石头数int i = 0;       //i代表下一块石头的编号int now = 0;     //now代表人当前在什么位置while (i < n+1){ //n+1才是终点i++;if (a[i] - a[now] < x) tot++;    //把前面n个小于x距离的石头搬走else now = i;                    //前面没有可以搬走的石头,我们就跳过去,再考虑下一块对应的情况}if (tot > m)     return false;       //搬走需要次数过多,不满足题意else    return true;
}
int main(){cin>>d>>n>>m;    //d代表总长度,也就是右边界;n块石头;要移走m块(思考时候不要被这个m限制)for (int i=1;i<=n;i++)  cin>>a[i];a[n+1] = d;     //n+1是终点l = 1; r = d;while(l<=r){mid =(l+r)/2;if(judge(mid)) l=mid+1;else r=mid-1;}cout << r << endl;//输出r也可以return 0;
}

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

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

相关文章

支付宝本地生活团购服务商如何申请?两个方法教给你

支付开宝的本地生活来了&#xff01;按支付宝财大气粗的做法&#xff0c;它一旦要推什么项目&#xff0c;那自然会在前期疯狂洒钱&#xff0c;以求通过这种模式快速占领市场。 所以&#xff0c;这次支付宝要推本地生活项目&#xff0c;这一贯做法自然得跟上&#xff0c;只是这…

飞致云及其旗下1Panel项目进入2023年第三季度最具成长性开源初创榜单

2023年10月26日&#xff0c;知名风险投资机构Runa Capital发布2023年第三季度ROSS指数&#xff08;Runa Open Source Startup Index&#xff09;。ROSS指数按季度汇总并公布在代码托管平台GitHub上年化增长率&#xff08;AGR&#xff09;排名前二十位的开源初创公司和开源项目。…

win10pycharm和anaconda安装和环境配置教程

windows10 64位操作系统下系统运行环境安装配置说明 下载和安装Anaconda&#xff0c;链接https://www.anaconda.com/download 下载完后&#xff0c;双击exe文件 将anaconda自动弹出的窗口全部关掉即可&#xff0c;然后配置高级系统变量 根据自己的路径&#xff0c;配置…

SQL备忘--函数

数据处理函数 函数功能OracleMysqlMicrosoft SQL ServerPostgreSQLSQLiteABS(x)计算x的绝对值√√√√√CEIL(x)CEILING(x)大于等于x的最小整数CEIL(x)√CEILING(x)√CEIL(x)FLOOR(x)小于等于x的最大整数√√√√√MOD(x)x除以y的余数(x%y)√√x % y√x % yROUND(x,n)x四舍五入…

基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP

最近我在 International Journal of Digital Earth &#xff08;《国际数字地球学报》&#xff09;发表了一篇森林生物量模型构建的文章&#xff1a;Evaluation of machine learning methods and multi-source remote sensing data combinations to construct forest above-gro…

欧科云链研究院:如何降低Web3风险,提升虚拟资产创新的安全合规

在香港Web3.0行业&#xff0c;技术推动了虚拟资产投资市场的快速增长&#xff0c;但另一方面&#xff0c;JPEX诈骗案等行业风险事件也接连发生&#xff0c;为Web3行业发展提供了重要警示。在近期的香港立法会施政报告答问会上&#xff0c;行政长官李家超表示&#xff0c;与诈骗…

C++进阶语法——STL 标准模板库(下)(Standard Template Library)【学习笔记(七)】

文章目录 STL 代码示例1、迭代器2、算法3、array容器示例4、vector示例5、deque&#xff08;double ended queue&#xff0c;双端数组&#xff09;示例6、list&#xff08;链表&#xff09;容器7、set示例8、map示例9、stack 示例10、queue示例11、priority_queue &#xff08;…

FFmpeg系列索引

第一章 初识FFmpeg https://blog.csdn.net/huantianxidi/article/details/134130159 第二章 ffplay是什么 https://blog.csdn.net/huantianxidi/article/details/134151043

图像特征Vol.1:计算机视觉特征度量|第二弹:【统计区域度量】

目录 一、前言二、统计区域度量2.1&#xff1a;图像矩特征2.1.1&#xff1a;原始矩/几何矩2.1.2&#xff1a;中心距2.1.3&#xff1a;归一化的中心矩2.1.4&#xff1a;不变矩——Hu矩2.1.5&#xff1a;OpenCv实现矩特征及其应用 2.2&#xff1a;点度量特征2.3&#xff1a;全局直…

在 GORM 中定义模型

为实现与数据库的无缝交互而打造有效模型的全面指南 在使用 GORM 进行数据库管理时&#xff0c;定义模型是基础。模型是您的应用程序的面向对象结构与数据库的关系世界之间的桥梁。本文深入探讨了在 GORM 中打造有效模型的艺术&#xff0c;探讨如何创建结构化的 Go 结构体&…

从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型

从零开始的目标检测和关键点检测&#xff08;三&#xff09;&#xff1a;训练一个Glue的RTMPose模型 一、重写config文件二、开始训练三、ncnn部署 从零开始的目标检测和关键点检测&#xff08;一&#xff09;&#xff1a;用labelme标注数据集 从零开始的目标检测和关键点检测…

若依微服务集成Mybatis-plus详细教程

本章教程,主要介绍,若依开源框架微服务版本,如何集成Mybatis-plus。 目录 一、引入依赖 1、在根pom.xml中的properties里加入Mybatis-plus版本 2、在根pom.xml中引入Mybatis-plus依赖

C++学习

一、C基本介绍 1.1 C是什么 C是一种通用的、高级的编程语言&#xff0c;它是C语言的扩展和改进版本。C由Bjarne Stroustrup博士在20世纪80年代初开发&#xff0c;旨在为程序员提供更多的功能和工具&#xff0c;以便更轻松地编写复杂的软件程序。 拜一拜祖师爷&#xff0c;保佑在…

左移测试,如何确保安全合规还能实现高度自动化?

「云原生安全既是一种全新安全理念&#xff0c;也是实现云战略的前提。 基于蚂蚁集团内部多年实践&#xff0c;云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案&#xff0c;包括静态代码扫描Pinpoint&#xff0c;软件成分分析SCA&#xff0c;交互式安全测试IA…

二、GRE VPN

GRE VPN 1、GRE介绍2、GRE基本原理3、GRE报文格式4、报文在GRE中传输过程5、价值6、Keepalive检测7、GRE应用8、配置GRE隧道8.1、配置绑定GRE协议的接口8.2、配置Tunnel接口8.3、配置Tunnel路由 9、GRE配置举例9.1、GRE静态路由示例9.1.1、路由器运行动态路由协议实现互通9.1.2…

NEFU数字图像处理(3)图像分割

一、图像分割的基本概念 1.1专有名词 前景和背景 在图像分割中&#xff0c;我们通常需要将图像分为前景和背景两个部分。前景是指图像中我们感兴趣、要分割出来的部分&#xff0c;背景是指和前景不相关的部分。例如&#xff0c;对于一张人物照片&#xff0c;人物就是前景&…

mysql迁移data目录(Linux-Centos)

随着时间的推移&#xff0c;mysql的数据量越越大&#xff0c;使用yum默认安装的目录为系统盘 /var/lib/mysql&#xff0c;现重新挂载了一个硬盘&#xff0c;需要做数据目录的迁移到 /mnt/data/。以解决占用系统盘过高情况。 1.强烈建议这种操作。镜像一个一样的Centos系统&…

系统架构设计师-第18章-安全架构设计理论与实践-软考学习笔记

安全架构概述 信息的可用性、元略性、机密性、可控性和不可抵赖性等安全保障显得尤为重要&#xff0c;而满足这些诉求&#xff0c;离不开好的架构设计. 信息安全面临的威胁 常见的安全威胁有以下几种. (1)信息泄露 (2) 破坏信息的元整性: 数据被非授极地进行增删、修改成破坏…

MyBatis无法读取XML中的Method的乌龙事件

事件背景 同事反馈&#xff0c;相同的jar包&#xff0c;在多人本地的电脑、多台服务器中&#xff0c;都是可以正常启动的&#xff0c;只有在其中一台服务器&#xff0c;简称它为A&#xff0c;无法启动&#xff0c;因为启动后的初始化操作中有一个调用mybatis方法的操作&#x…

11.Linux系统:定时任务备份mysql数据库为文件并传输到其他服务器

1. 创建脚本 mysql_dumps.sh内容如下&#xff1a; #!/bin/bash # 查找名称为“mysql_mysql”的容器id CONTAINER_IDdocker ps -a | grep "mysql_mysql" | awk {print $1} | head -n 1 MYSQL_USERNAME"root" MYSQL_PASSWORD"root" FILENAME_SU…