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

news2025/1/17 14:02:54

今天接着讲二分题型

目录

题目:路标设置

 思路: 

题目:跳石头

 思路: 

          

     

题目:路标设置

     

       

思路: 

   
求:放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.coloradmin.cn/o/1166216.html

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

相关文章

CollageIt 3 Pro for mac:打造你的独特拼贴艺术,让创意无限可能

CollageIt 3 Pro for mac 是一款让用户在短时间内创作出令人惊叹的拼贴艺术的软件。这款强大的拼贴制作工具是专为 Mac 用户设计的&#xff0c;使创作拼贴画变得更加简单和高效。 CollageIt 3 Pro for mac 提供了丰富的拼贴元素&#xff0c;包括背景、图像、文本等&#xff0c…

c++实现观察者模式

前言 我觉得这是最有意思的模式&#xff0c;其中一个动&#xff0c;另外的自动跟着动。发布-订阅&#xff0c;我觉得很巧妙。 代码 头文件 #pragma once #include<vector> #include<string> #include<iostream>// 抽象观察者 class Aobserver { public:v…

第二证券:涨停板被打开说明什么?

涨停板&#xff0c;是股票价格动摇的限制性规则。简略来说&#xff0c;涨停板就是当某股票价格较前一个生意日的收盘价上涨了必定份额的时分&#xff0c;商场生意将受到限制&#xff0c;股票价格不能继续上涨&#xff0c;即当日该股票的涨幅上限。而当涨停板被翻开&#xff0c;…

用于 GaN-HEMT 功率器件仿真的 TCAD 方法论

目录 标题&#xff1a;TCAD Methodology for Simulation of GaN-HEMT Power Devices来源&#xff1a;Proceedings of the 26th International Symposium on Power Semiconductor Devices & ICs(14年 ISPSD)GaN-HEMT仿真面临的挑战文章研究了什么文章的创新点文章的研究方法…

做视频目标分割、人体姿态跟踪、语义part分割的同学看过来,李飞飞最新作品

SiamMAE&#xff1a;一种从视频中进行表示学习的孪生掩码自编码器&#xff0c;在视频目标分割、人体姿态跟踪、语义part分割上性能表现出色单位&#xff1a;斯坦福大学(李飞飞、吴佳俊等人), 普林斯顿大学(邓嘉) 在图像或场景之间建立对应关系是计算机视觉中的一项重大挑战&am…

恢复电脑删除的文件?这4个简单方法别错过!

“我经常都会把文件保存在电脑上&#xff0c;但是总是不可避免的会误删一些比较重要的文件。有什么比较容易操作的文件恢复方法可以推荐吗&#xff1f;非常感谢&#xff01;” 在日常使用电脑时&#xff0c;用户可能都不可避免的会出现误删文件的情况。这可能包括重要的文档、照…

治理效率提升77%!揭秘基于DataLeap实时健康分的最佳实践

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 背景 某企业实时数仓团队通过数据收集、整合、计算和存储构建实时数据仓库&#xff0c;为企业提供快速、准确、可靠的实时数据分析和决策支持。目前该实时数仓团队…

5.2023-11-02发表的最新论文复现:SSA-VMD与小波分解结合的GNSS坐标时序降噪方法

2023-11-02发表的最新论文复现代码&#xff1a; 注&#xff1a;针对文献去噪流程进行了细节部分修改 1.将多尺度排列熵大于0.5的分量全部删除&#xff0c;发现其效果更佳 2.文中小波分解方法具体的方法不确定&#xff0c;本代码是应用小波阈值去噪于改进VMD相结合进行去噪 代…

工业废水再利用在哪些地方

工业废水再利用主要应用于以下几个方面&#xff1a; 工业生产&#xff1a;回收废水中含有的各种有价值的资源&#xff0c;如水、盐、油、悬浮物等&#xff0c;用于生产过程。预处理和深度处理&#xff1a;为满足工业生产过程对水质的要求&#xff0c;对废水进行预处理和深度处…

当风格遇上浴缸:浴室装饰的秘诀

浴室不再仅仅是个洗漱的地方&#xff0c;如今它们是室内设计的一部分&#xff0c;有时甚至是焦点。浴室的装饰风格可以塑造整个房间的氛围&#xff0c;而浴缸通常是浴室内最引人注目的元素之一。在这里&#xff0c;我们将简单探讨不同室内设计风格与浴缸如何融合&#xff0c;让…

vue3-ace-editor前端 json格式化显示 json编辑器使用

前端 json格式化显示 json编辑器使用vue3-ace-editor 1.安装 项目目录下打开终端 运行 npm install vue3-ace-editor2.使用 <template><div classcontent><el-select v-model"aceConfig.theme" class"m-2" placeholder"Select"…

提升物流效率和可见性:RFID技术在物流线上的创新应用

随着科技的进步&#xff0c;物联网和大数据的应用越来越广泛。RFID&#xff08;无线射频识别技术&#xff09;作为物联网的重要组成部分&#xff0c;已经广泛应用于物流行业中。RFID技术通过无线电信号识别特定目标&#xff0c;无需人工干预&#xff0c;大大提高了物流线的效率…

基于SSM的个人通讯录设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

微信小程序overflow-x超出部分样式不渲染

把display:flex改成display:inline-flex&#xff0c; 将对象作为内联块级弹性伸缩盒显示&#xff0c; 类似与是子元素将父元素撑开&#xff0c;样式就显示出来了

Python+pandas将Excel文件xls批量转换xlsx(代码全注释)

文章目录 专栏导读背景安装的库代码部分(全注释)视频演示总结&#x1f44d; 该系列文章专栏&#xff1a;[Python办公自动化专栏]PS: xlsx转xls文章在这&#xff1a;【点我直达】 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的…

接口自动化测试requests

1.什么是requests&#xff1f; requests是一个Python第三方库&#xff0c;处理URL资源特别方便 2.安装requests pip3 install requests 如果遇到Permission denied安装失败&#xff0c;请加上sudo重试 3.使用requests 3.1get请求方法 3.1.1基本的get请求 import reques…

HTTPS的加密方式超详细解读

在了解https的加密方式之前&#xff0c;我们需要先行了解两个特别经典的传统加密方式&#xff1a; 1、对称加密 1.1、定义 需要对加密和解密使用相同密钥的加密算法。所谓对称&#xff0c;就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解…

MojoUserAgent库

Mojo::UserAgent 是 Perl 编程语言中的一个库&#xff0c;用于创建和管理 HTTP 请求。它提供了一个简单而强大的接口&#xff0c;用于发送 HTTP 请求并处理响应。 以下是一个使用 Mojo::UserAgent 的简单示例&#xff1a; use Mojo::UserAgent;创建一个 Mojo::UserAgent 对象…

小红书优质达人标准是什么,达人投放攻略!

众所周知kol、koc投放&#xff0c;相较于信息流和竞价广子而言&#xff0c;在投放结果上&#xff0c;存在更多的浮动因素。而想要把控kol、koc的投放结果&#xff0c;就需要在匹配优质达人方面多下功夫。今天为大家分享下小红书优质达人标准是什么&#xff0c;达人投放攻略&…

包含3的数字-第10届蓝桥杯省赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第2讲。 包含3的数字&#…