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

789. 数的范围 (二分学习)左端大右,右端小左

题目链接icon-default.png?t=N7T8https://www.acwing.com/file_system/file/content/whole/index/content/4317/

当求左端点时,条件是a【mid】大于等于x,并把右端点

当求右端点时,条件是a【mid】小于等于x,并把左端点。 

1.确定一个区间,使得目标值一定在区间中

2.找一个性质满足:

        (1)性质具有二段性

        (2)答案是二段性的分界点

3.整数二分(处理红色右端点和绿色左端点)

        

//代码1:右端点
int l=0,r=n;
while(l < r){int mid = (l+r+1) >> 1;if(在红色段){l = mid;}else r = mid - 1;
}
//代码2:左端点绿色
if是绿的,说明ans在【了,m】
int l=0,r=n;
while(l<r){int mid = l+r >> 1;if(是绿的){r = mid;}else l = mid + 1;
}

例题:

在这道题中,因为开始已经求出左端点了,所以求右端点时l可以不动,只更新r为n-1

0402重写:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<queue>
#include<cmath>using namespace std;
//要求左边界右边界
int n;
int a[100010];
int q;int main()
{scanf("%d%d",&n,&q);for(int i=0;i<n;i++){scanf("%d",&a[i]);}while(q--){int x;scanf("%d",&x);int l=0,r=n-1;while(l<r){int mid = l+r >> 1;if(a[mid] >= x){r = mid;}else{l = mid + 1;}}if(a[l] == x){printf("%d ",l);l = 0;r = n-1;while(l<r){int mid = l+r+1 >> 1;if(a[mid] <= x){l = mid;}else r = mid - 1;}if(a[l] == x){printf("%d\n",l);}}else{printf("-1 -1\n");}}return 0;
}

代码:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<queue>
#include<cmath>using namespace std;int n,k;
int a[100010];int main()
{scanf("%d%d",&n,&k);for(int i=0;i<n;i++){scanf("%d",&a[i]);}while(k--){int q;scanf("%d",&q);//找区间左端点int l=0,r=n-1;while(l<r){int mid = l+r >> 1;if(a[mid] >= q)//中位数大于q,说明右端点在左半段{r = mid;}else l = mid + 1;}if(a[l] == q){cout<<l<<" ";//右端点l = 0,r = n-1;while(l < r){int mid = (l + r + 1) >> 1;if(a[mid] <= q){l = mid;}else r = mid - 1;}if(a[l] == q){cout<<l<<endl;}}else {cout<<"-1 -1"<<endl;}}return 0;
}

相关文章:

789. 数的范围 (二分学习)左端大右,右端小左

题目链接https://www.acwing.com/file_system/file/content/whole/index/content/4317/ 当求左端点时&#xff0c;条件是a【mid】大于等于x&#xff0c;并把右端点缩小。 当求右端点时&#xff0c;条件是a【mid】小于等于x&#xff0c;并把左端点扩大。 1.确定一个区间&…...

docker logs 查找日志常用命令

docker logs 是什么 docker logs 是 Docker 命令行工具提供的一个命令&#xff0c;用于查看容器的日志输出。它可以显示容器在运行过程中生成的标准输出&#xff08;stdout&#xff09;和标准错误输出&#xff08;stderr&#xff09;&#xff0c;帮助用户诊断容器的行为和排查…...

百卓Smart管理平台 importexport.php SQL注入漏洞复现(CVE-2024-27718)

0x01 产品简介 百卓Smart管理平台是北京百卓网络技术有限公司(以下简称百卓网络)的一款安全网关产品,是一家致力于构建下一代安全互联网的高科技企业。 0x02 漏洞概述 百卓Smart管理平台 importexport.php 接口处存在SQL注入漏洞,攻击者除了可以利用 SQL 注入漏洞获取数据…...

PHP教程_PHP5函数str_replace替换字符串中的字符

PHP教程_PHP5函数str_replace替换字符串中的字符 PHP (PHP: Hypertext Preprocessor) 即 “超文本预处理器”, 是在服务器端执行的脚本语言, 尤其适用于Web开发并可嵌入HTML中。 PHP 语法学习了 C语言, 吸纳 Java 和 Perl 多个语言的特色发展出自己的特色语法, 并根据它们的长…...

Word的”交叉引用“和”插入题注“快捷键设置

Word的”交叉引用“和”插入题注“快捷键设置 在MSWord2021中&#xff0c;可以自定义设置快捷键。方法如下&#xff1a;文件-选项-自定义功能区-键盘快捷方式&#xff08;自定义&#xff09;。具体过程如图所示。 最后&#xff0c;按照上述流程将插入题注&#xff08;Insert…...

小白从0学习ctf(web安全)

文章目录 前言一、baby lfi&#xff08;bugku-CTF&#xff09;1、简介2、解题思路1、解题前置知识点2、漏洞利用 二、baby lfi 2&#xff08;bugku-CTF&#xff09;1.解题思路1、漏洞利用 三、lfi&#xff08;bugku CTF&#xff09;1、解题思路1、漏洞利用 总结 前言 此文章是…...

【嵌入式开发 Linux 常用命令系列 7.4 -- awk 处理文件名,去除后缀只保留文件名】

请阅读【嵌入式开发学习必备专栏 】 文章目录 awk 处理文件名&#xff0c;去除后缀只保留文件名 awk 处理文件名&#xff0c;去除后缀只保留文件名 在 shell 中&#xff0c; 可以使用 awk 来处理文件名&#xff0c;去除其后缀。下面是一个示例命令&#xff0c;它会将带有后缀的…...

Linux重点思考(中)--端口/静态内存/负载/日志

这里写目录标题 知道的linux常用命令&#xff1a;查看指定端口进程netstat -pantunetstat -pantu|grep 22 静态运行内存free硬盘物理内存df和du当前负载uptime查看日志awk统计文件每一行单词sed 替换文件单词 知道的linux常用命令&#xff1a;查看指定端口进程 netstat -pantu…...

【Go】五、流程控制

文章目录 1、if2、switch3、for4、for range5、break6、continue7、goto8、return 1、if 条件表达式左右的()是建议省略的if后面一定要有空格&#xff0c;和条件表达式分隔开来{ }一定不能省略if后面可以并列的加入变量的定义 if count : 20;count < 30 {fmt.Println(&quo…...

数据开发-面试真题。

1. 自我介绍 2.在培训班的学过的项目经历 3.之前的工作经历&#xff0c;以及薪资 4.开始讲之前的项目经历 5.技术面试官开始提问。 kafka中进行数据分层&#xff0c;怎么从kafka中实时查询到相关的数据&#xff0c;一条或几条 6.java中的集合&#xff0c;以及io流 7.给定…...

如何使用免费的ChatGpt3.5

如何使用免费的ChatGpt 最近免费的gpt3.5很多都不怎么行了实在是太给力了尾声 最近免费的gpt3.5很多都不怎么行了 原因是什么呢&#xff1f;因为openai已经取消了免费的5刀赠送&#xff0c;那么这些人手上的免费的sses-key 用完后&#xff0c;就基本上全军覆没了&#xff0c;再…...

Kafka硬核干货

目录 Kafka Kafka Producer Kafka Consumer Consumer Offset Log Manager 如何实现高吞吐、低延迟...

分享几个可以免费使用的GPT网站吧

1. ChatGAI ChatGAI是一个界面简洁的AI平台&#xff0c;提供App和网页版&#xff0c;每日均有免费使用机会。 2. ChatGPT 本网站向大家开放了ChatGPT 3.5和4.0版本的免费体验&#xff0c;特别适合新用户。每天都有免费次数&#xff0c;响应迅速&#xff0c;注册便捷&#xff0…...

MySQL进阶-----前缀索引、单例与联合索引

目录 前言 一、前缀索引 1. 语法 2. 如何选择前缀长度 3. 前缀索引的查询流程 二、单列索引与联合索引 三、索引设计原则 前言 本期是MySQL进阶篇当中索引的最后一期内容&#xff0c;这里我们主要接着上一期继续讲解前缀索引、单例与联合索引。&#xff08;上一期链接&…...

HTTP——Cookie

HTTP——Cookie 什么是Cookie通过Cookie访问网站 我们之前了解了HTTP协议&#xff0c;如果还有小伙伴还不清楚HTTP协议&#xff0c;可以点击这里&#xff1a; https://blog.csdn.net/qq_67693066/article/details/136895597 我们今天来稍微了解一下HTTP里面一个很小的部分&…...

Scala大数据开发

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl Scala简述 在此&#xff0c;简要介绍 Scala 的基本信息和情况。 Scala释义 Scala 源自于英语单词scalable&#xff0c;表示可伸缩的、可扩展的含义。 Scala作者 Scala编…...

windows无法使用hadoop报错:系统找不到路径

在windows下安装hadoop-3.1.4,进行环境变量配置后&#xff0c;打开window命令行窗口测试hadoop命令&#xff0c;报错&#xff0c;如图所示&#xff1a; 方案&#xff1a;由于JAVA_HOME路径有空格导致&#xff0c;可修改hadoop下\etc\hadoop\hadoop_env.cmd文档中set JAVA_HOME以…...

从0配置React

在本地安装和配置React项目&#xff0c;您可以使用create-react-app这个官方推荐的脚手架工具。以下是安装React的步骤&#xff0c;包括安装Node.js、使用create-react-app创建React应用&#xff0c;以及启动开发服务器。 下载安装node.js运行以下命令&#xff0c;验证Node.js…...

File和IO流

1. File类常用方法 1.1 获取基本属性 • public String getName() &#xff1a;获取名称 • public String getPath() &#xff1a;获取路径 • public String getAbsolutePath()&#xff1a;获取绝对路径 • public File getAbsoluteFile()&#xff1a;获取绝对路径表示…...

2024系统架构师---解释器架构风格的概念与应用

解释器架构风格是一种软件架构模式&#xff0c;用于构建那些能够读取、解析并执行用户定义的命令或程序代码的系统。这种架构风格的关键在于提供一个运行时环境&#xff0c;它能够理解和执行预定义或用户定义的语言或指令集。通过这种方式&#xff0c;解释器模式能够为特定领域…...

档案宝 档案管理系统怎么样?为什么企业选择他?

在当今信息化高速发展的时代&#xff0c;企业档案管理已经从传统的纸质化时代迈向了数字化、智能化的新阶段。随着企业规模的不断扩大和业务类型的日益复杂&#xff0c;档案管理面临着前所未有的挑战&#xff1a;档案数量激增、查找困难、存储空间紧张、安全隐患突出等问题严重…...

SecGPT-14B实操手册:Gradio界面中temperature=0.3对安全答案确定性的影响

SecGPT-14B实操手册&#xff1a;Gradio界面中temperature0.3对安全答案确定性的影响 1. 引言&#xff1a;为什么安全问答需要“确定性”&#xff1f; 想象一下&#xff0c;你正在向一位网络安全专家咨询一个紧急的安全漏洞问题。你希望得到的回答是清晰、准确、且唯一的正确答…...

Matlab粒子动画:3D爱心生成与动态模拟

1. 从零开始理解Matlab粒子动画 第一次看到3D爱心在屏幕上跳动时&#xff0c;那种震撼感至今难忘。作为理工科学生&#xff0c;我们常常用Matlab处理枯燥的数据&#xff0c;但很少有人知道它还能创作出如此浪漫的视觉效果。这就像用计算器弹钢琴——工具本身没有情感&#xff0…...

LyricsX:重构Mac音乐体验的智能歌词助手

LyricsX&#xff1a;重构Mac音乐体验的智能歌词助手 【免费下载链接】Lyrics Swift-based iTunes plug-in to display lyrics on the desktop. 项目地址: https://gitcode.com/gh_mirrors/lyr/Lyrics 当你在Mac上沉浸于音乐世界时&#xff0c;是否曾因无法同步显示歌词而…...

微带贴片天线基础计算

2GHz微带阵列天线&#xff0c;HFSS仿真模型&#xff0c;介质板为FR4&#xff0c;增益4.5dBi&#xff0c;驻波小于1.5。最近在捣鼓2GHz频段的微带阵列天线设计&#xff0c;用HFSS建模仿真时遇到不少有意思的问题。FR4板材这玩意儿看着普通&#xff0c;实际用在天线设计里真得小心…...

Elk优雅错误处理:10个用户友好提示与降级机制详解

Elk优雅错误处理&#xff1a;10个用户友好提示与降级机制详解 【免费下载链接】elk A nimble Mastodon web client 项目地址: https://gitcode.com/gh_mirrors/el/elk Elk作为一款轻量级的Mastodon网页客户端&#xff0c;以其流畅的用户体验和高效的错误处理机制备受用户…...

毕业季、返修季、投稿季:SCI论文润色,到底能不能提高接收率?

“SCI论文如果先润色&#xff0c;再投稿&#xff0c;是不是更容易被接收&#xff1f;”这个问题&#xff0c;真的每年到了这个时间点都会高频出现。尤其是3月底到4月初&#xff0c;很多同学刚从基金申请、毕业论文、返修修改的高压节奏里缓过来&#xff0c;马上又进入下一轮“赶…...

OpenClaw+Qwen3-32B双镜像方案:AI写作与发布自动化流水线

OpenClawQwen3-32B双镜像方案&#xff1a;AI写作与发布自动化流水线 1. 为什么需要双镜像协作&#xff1f; 去年冬天&#xff0c;当我第一次尝试用AI自动化完成技术博客的写作和发布时&#xff0c;遇到了一个典型困境&#xff1a;本地模型响应快但质量一般&#xff0c;云端大…...

通义千问3-VL-Reranker实战分享:30+语言支持,打造全球化智能搜索助手

通义千问3-VL-Reranker实战分享&#xff1a;30语言支持&#xff0c;打造全球化智能搜索助手 1. 引言&#xff1a;全球化搜索的挑战与机遇 在当今信息爆炸的时代&#xff0c;跨语言信息检索已成为企业和个人面临的普遍挑战。传统搜索引擎在处理多语言内容时往往力不从心&#…...

Qwen3-0.6B-FP8企业级部署教程:基于Dify打造AI应用平台

Qwen3-0.6B-FP8企业级部署教程&#xff1a;基于Dify打造AI应用平台 想快速搭建一个属于自己或团队的AI应用&#xff0c;但又觉得从零开发太复杂&#xff1f;今天&#xff0c;我们就来聊聊如何用Qwen3-0.6B-FP8这个轻量高效的模型&#xff0c;结合Dify这个强大的AI应用开发平台…...