news 2026/5/1 21:24:35

题解:AcWing 5961 区间合并

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
题解:AcWing 5961 区间合并

本文分享的必刷题目是从蓝桥云课洛谷AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。

欢迎大家订阅我的专栏:算法题解:C++与Python实现!

附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总


【题目来源】

AcWing:5961. 区间合并 - AcWing题库

【题目描述】

给定n nn个闭区间[ a i , b i ] [a_i,b_i][ai,bi],其中i = 1 , 2 , … , n i=1,2,\dots,ni=1,2,,n

任意两个相邻或相交的闭区间可以合并为一个闭区间。

例如,[ 1 , 2 ] [1,2][1,2][ 2 , 3 ] [2,3][2,3]可以合并为[ 1 , 3 ] [1,3][1,3][ 1 , 3 ] [1,3][1,3][ 2 , 4 ] [2,4][2,4]可以合并为[ 1 , 4 ] [1,4][1,4],但是[ 1 , 2 ] [1,2][1,2][ 3 , 4 ] [3,4][3,4]不可以合并。

我们的任务是判断这些区间是否可以最终合并为一个闭区间,如果可以,将这个闭区间输出,否则输出no

【输入】

第一行包含整数n nn,表示区间数量。

接下来n nn行,每行包含两个整数a i a_iaib i b_ibi,表示一个给定区间为[ a i , b i ] [a_i,b_i][ai,bi]

【输出】

输出一行,如果这些区间最终可以合并为一个闭区间,则输出这个闭区间的左右边界,用单个空格隔开;否则输出no

【输入样例】

5 5 6 1 5 10 10 6 9 8 10

【输出样例】

1 10

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;#defineN100005// 定义最大区间数量// 区间结构体structPair{intl;// 区间左端点intr;// 区间右端点};Pair a[N];// 存储所有区间Pair pm;// 合并后的总区间// 比较函数:按区间左端点升序排序boolcmp(Pair a,Pair b){returna.l<b.l;}intmain(){intn;// 区间数量cin>>n;// 输入所有区间for(inti=1;i<=n;++i){cin>>a[i].l>>a[i].r;}// 按区间左端点排序sort(a+1,a+1+n,cmp);// 初始化合并区间为第一个区间pm=a[1];// 尝试合并所有区间for(inti=2;i<=n;++i){// 如果当前区间与合并区间有重叠if(a[i].l<=pm.r){// 扩展合并区间的右端点pm.r=max(a[i].r,pm.r);}else{// 如果无法合并,输出"no"并结束程序cout<<"no";return0;}}// 输出合并后的总区间cout<<pm.l<<' '<<pm.r;return0;}

【运行结果】

5 5 6 1 5 10 10 6 9 8 10 1 10
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 21:18:07

普通人怎么利用GPT赚钱之创建自动化工具

利用GPT创建自动化工具:从构想到实现的详细指南 在当前快速发展的科技时代,人工智能(AI)正在改变各行各业的工作方式。对于普通人来说,利用GPT(Generative Pre-trained Transformer)这样的语言模型来创建自动化工具,并通过这些工具赚钱,已经成为一种切实可行的方法。…

作者头像 李华
网站建设 2026/5/1 21:17:26

开源项目 “Open Source CS“ 教程

开源项目 "Open Source CS" 教程 【免费下载链接】open-source-cs Video discussing this curriculum: 项目地址: https://gitcode.com/GitHub_Trending/op/open-source-cs 1. 项目目录结构及介绍 该项目的目录结构比较简单&#xff0c;主要包括以下几个部分…

作者头像 李华
网站建设 2026/5/1 21:17:05

在Claude Code中配置Taotoken作为Anthropic模型调用后端

在Claude Code中配置Taotoken作为Anthropic模型调用后端 1. 准备工作 在开始配置前&#xff0c;请确保已安装最新版本的Claude Code工具链。同时需要准备好以下信息&#xff1a; 有效的Taotoken API Key&#xff08;可在Taotoken控制台创建&#xff09;目标模型ID&#xff0…

作者头像 李华
网站建设 2026/5/1 21:15:24

ComfyUI ControlNet Aux终极指南:掌握40+预处理器的AI图像控制魔法

ComfyUI ControlNet Aux终极指南&#xff1a;掌握40预处理器的AI图像控制魔法 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想在ComfyUI中实现精准的AI图…

作者头像 李华
网站建设 2026/5/1 21:15:23

你知道吗?其实这些都是AI——智能交通管理系统

智能交通管理系统 背景介绍 随着城市化进程的加快和机动车数量的激增,城市交通拥堵问题日益严重,给市民的出行带来了极大困扰,同时也对环境造成了负面影响。传统的交通管理方法主要依赖于人工调度和静态交通信号控制,难以应对复杂多变的交通状况。现代科技的发展为交通管…

作者头像 李华
网站建设 2026/5/1 21:11:32

UI Recorder架构解析:深入了解Chrome扩展与Node.js的协同工作

UI Recorder架构解析&#xff1a;深入了解Chrome扩展与Node.js的协同工作 【免费下载链接】uirecorder UI Recorder is a multi-platform UI test recorder. 项目地址: https://gitcode.com/gh_mirrors/ui/uirecorder UI Recorder是一款多平台UI测试录制工具&#xff0c…

作者头像 李华