区间不相交问题

区间不相交问题-区间贪心-c++实现 区间不相交问题: 对给定的N个开区间(x,y),从中尽可能多的选择开区间,使这些开区间两两没有交集。 eg:对(1,3),(2,4),(3,5),(6,7),不相交的区间最多3个:(1,3),(3,5),(6,7) 思路: 先将区间按左端点从大到小排序。每选中一个区间,就记录它的左端点为lastL,之后每遍历一个区间就判断该区间右端点与lastL大小,从而判断当前区间和上个被选中的区间之间有没有交... 阅读详情

 区间不相交问题

给出n个开区间(x,y),从中选择尽可能多的开区间,使得这些开区间两两没有交集。问最多多少个?

 区间贪心  (算法笔记 P122)

#include<iostream>
#include<cstdio> 
#include<algorithm> 
using namespace std;

const int maxn=110;

struct interval
{
	int x;
	int y;
}I[maxn];

bool cmp(interval a,interval b)
{
	if(a.x!=b.x) return a.x>b.x;
	else return a.y<b.y;
}

int main()
{
	int n;
	while(scanf("%d",&n)!=EOF,n!=0)  //逗号运算符 
	{
		for(int i=0;i<n;i++)
		{
			cin>>I[i].x>>I[i].y;		
		}
		sort(I,I+n,cmp);
		
		int ans=1;
		int lastX=I[0].x;  //用lastX记录! 
		for(int i=1;i<n;i++)
		{
			if(I[i].y<=lastX)  //小于等于! 等于也行啊! 
			{
				ans++;
				lastX=I[i].x;
			}
		}
		cout<<ans<<endl;
	}	
	return 0;
}

 

 

ACMjava经典贪心区间问题,区间选点,不相交区间,区间覆盖 package com.supermars.practice; import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class 贪心法区间选点问题 {     static Ac2 ac[] = new Ac2[1     public static vo 阅读详情

相关推荐

贪心 不相交区间问题/区间调度问题/活动安排问题 凌乱的yyy/线段覆盖luoguP1803

下来翻了一下算法书,竟然一下就翻到了,而且我刚好就看到前面一页,这页恰好没看。考试允许带纸质资料,早知道我带算法书进去了,别人都看算法书做出来了这就搞得我很被动。所以还是要重视思路,先冷静下来,多去思考问题,再着手去写也来得及,不要慌。行了,熟悉我的人知道,我总是喜欢在写代码的时候讲讲故事。不相交区间(活动),每个区间有左端点和右端点(开始时间和终止时间),要求找到最多的不相交区间(活动)。这个问题的目的是求最多活动数量,所以持续时间长的活动不受欢迎,受欢迎的是尽快结束的、持续时间短的活动。

soilovedogs的博客 2123

贪心算法之最大不相交区间数问题

贪心算法之最大不相交区间数问题 数轴上有n个区间[ai,bi],要求选择尽量多个区间,使得这些区间两两没有公共点。 贪心策略: 按照b1 证明: 我们对a1,a2……的关系分以下几种情况考虑: 1、a1>a2。   此时区间2包含区间1。这种情况下显然不会选择区间2,因为选择区间1会留下更多的剩余空间。                       不仅

奋起的Coder。。。 4382

简单区间问题 选择不相交区间 区间选点 区间覆盖问题解答及代码 C++

1. 选择不相交区间 数轴上有n个开区间(ai,bi)(a_i, b_i)(ai​,bi​)。选择尽量多个区间,使得这些区间没有公共点。 这是最简单的区间问题,很多区间问题都需要先排序,要么对aia_iai​排序,要么对bib_ibi​排序。这道题直接将区间按照bib_ibi​排序,第一个区间一定要选择,然后选择下一个符合条件的区间(不与第一个区间重叠),以此类推。 数据(5,7), (1,2),...

mschessy的博客 788

C++算法入门练习——区间不相交问题、区间选点问题

而对于区间选点问题,我们只需要在区间不相交问题中,小小修改,修改纳入区间条件:if(num[i].left>=num[templeft].right),只需要把等号去掉。理由是,我们每次取区间的左端点作为选取的点,这样就可以小区间内的点也覆盖了大区间内的点。然后取第一个的作为第一个取的区间,然后比较剩余区间里的,如果有其中的一个左端点大于等于已去区间的右端点,那么就应该纳入,这样就可以不相交。利用贪心思想,先将这些区间排序,按右端点最大的优先来排序,如果右端点相同,那么取左端点小的,这样区间短。

u011708235的博客 401

区间相交问题

给定x轴上n个闭区间,去掉尽可能少的闭区间,使剩下的闭区间都不相交。注意:这里,若区间与另一区间之间仅有端点是相同的,不算做区间相交。例如,[1,2]和[2,3]算是不相交区间。

Goldwasser-Micali 公钥加密系统

1、二次剩余问题 对于整数n ,定义Zn∗={a∈Zn,gcd(a,n)=1}Z^*_n=\{ a∈Z_n,gcd(a,n) =1\}Zn∗​={a∈Zn​,gcd(a,n)=1} 。当存在d∈Znd \in Z_nd∈Zn​ ,使得 d2≡a mod nd^2 \equiv a \, mod \,nd2≡amodn ,称 a 为模 n 的二次剩余;否则称 a 为模 n的二次非剩余。判断 a 是否为模 n 的二次剩余的问题称为模n 的二次剩余问题。 \rule[-10pt]{14.3cm}{0.05em}

不染心的博客 4315

问题 A: 看电视

题目链接:http://codeup.cn/problem.php?cid=100000584&pid=0 题目描述 暑假到了,小明终于可以开心的看电视了。但是小明喜欢的节目太多了,他希望尽量多的看到完整的节目。 现在他把他喜欢的电视节目的转播时间表给你,你能帮他合理安排吗? 输入 输入包含多组测试数据。每组输入的第一行是一个整数n(n<=100),表示小明喜欢的节目的总数。 接下来...

Rhao的博客 780

游戏数据训练世界模型:AI物理规律学习与仿真应用实践

世界模型作为理解现实世界动态的AI工具,通过多模态数据学习物理和空间属性来预测未来状态。其核心原理在于从环境交互中提取物理规律,技术价值体现在能够安全、低成本地训练AI系统应对复杂场景。在应用层面,游戏数据因其结构化环境和内置物理引擎,成为世界模型训练的优质素材。游戏世界中的物体交互、运动轨迹等数据天然包含现实物理规律,特别适合训练物理AI。本文以General Intuition公司获得3.2亿美元融资为切入点,深入探讨游戏数据在世界模型训练中的技术实现路径,涵盖数据提取管道构建、多模态数据融合方法,以及

weixin_29056865的博客 367

[区间问题] 最大不相交区间数量(区间问题+贪心)

文章目录0. 前言1. 区间问题+贪心 0. 前言 玄学的贪心问题,一般全凭直觉。 贪心问题没有固定讨论,没有模板,见多了就好了,证明想法的正确性是很困难的,大多采用反证法。 区间问题无非左端点、右端点、左右端点排序… 1. 区间问题+贪心 908. 最大不相交区间数量 本题和 [区间问题] 区间选点(区间问题+贪心) 一模一样,一份代码交两遍就行了。贪心思路和证明思路都一致,简单对问题转化即可。 贪心思路: 区间按右端点从小到大排序 从前往后依次枚举每个区间 如果当前区间中已经包含点,则直接跳过该区

Y-puyu 的博客 4680

极空间NAS小白也能搞定的Gitea部署:Docker+MySQL避坑全记录

本文为极空间NAS用户提供了一份详尽的Gitea私有代码仓库部署指南。针对极空间ARM架构和图形化Docker管理的特殊性,文章重点讲解了如何通过Docker和MySQL容器进行部署,并提供了三种获取兼容镜像的实战策略,特别是利用第三方镜像站转录的方法,帮助小白用户成功搭建并初始化Gitea服务,实现私有Git托管。

weixin_28318011的博客 368

Clion编译stm32cube初始化工程时non constant or forward reference address expression for section .ARM.extab报错

相信应该有同学在看了稚晖君关于clion开发stm32的文章之后也想在自己PC上实现“优雅の嵌入式开发”遇到和我类似的问题。他的文章是22年写的,我个人猜测应当是版本更新导致的不适配。意思就是说 READONLY 只能在gcc11以后的版本中使用,gcc10及以前的版本将无法正确识别,也就有如下错误。或者就可以将gcc升级至最新的版本。记得在clion工具链中修改c,cpp编译器的位置。可以将文本括号中的 READONLY 全部删除。当时由于没有注意到这行注释导致在这里卡了好久。

2301_77256849的博客 2513

区间相关问题的学习: 最多不相交区间问题,区间选点问题与区间覆盖问题

区间相关问题的学习: 最多不相交区间问题,区间选点问题与区间覆盖问题

roufoo的博客 2597

基于Q-learning的无人机三维路径规划(含完整C++代码)

基于Q-learning的无人机三维路径规划(含完整C++代码)

weixin_54186646的博客 1万+

区间贪心:区间不相交、区间选点问题

区间贪心问题 区间不相交问题:给出N个开区间(x,y),从中选择尽可能多的区间,使得这些开启的区间两两没交集 首先若有A包裹B的地方,比如A[1,5], B[2,4], 显然我需要的只是B,因为B被选中,占地区域更小右更大的空间给别的区域去占,所以有包含的这种情况时选择区间小的。那想一想最后我求出来的符合问题的解,一定是在坐标轴上依次排列沒有交集的,也就是说,左边的一个区间C的右端点一定小于右临的区间的左端点。 因此求解方法是: 先建立区间结构体数组,按左端点从小到大排序(按右端点的话就是从大到小排序),左

qq_44237926的博客 747

MODIS 遥感数据批量下载(使用Cygwin)

MODIS 遥感数据批量下载(使用Cygwin)包含Cygwin的下载教程

weixin_45913084的博客 916

人形机器人硬件电路设计入门

人形机器人属于。

blotemj.blog.youkuaiyun.com 232

区间贪心(区间不相交问题***)

区间不相交问题: 给出N个开区间(x, y),从中选择尽可能多的开区间,使得这些开区间两两没有交集。例如对开区间(1,3)、(2,4)、(3,5)、(6,7)来说,可以选出最多三个区间(1,3)、(3,5)、(6,7)它们互相没有交集。 首先考虑最简单的情况,如果开区间 I1被开区间 I2包含,如图a,那么显然选择 I1是最好的选择,因为如果选择I1,那么就有更大的空间去容纳其...

jiangjiangjiang6的博客 594

YOLOv8改进,YOLOv8主干网络替换为FasterNet(全网独发手把手教学,助力涨点)

FasterNet的整体架构由四个分层阶段组成,每个阶段包含一组FasterNet模块,并在前面加一个嵌入或合并层。最后三层用于特征分类。每个FasterNet模块内部,一个PConv层后跟两个PWConv层,为了保持特征多样性并降低延迟,归一化和激活层仅在中间层之后进行,其中,PConv 是一种快速高效的卷积操作,通过仅对部分输入通道应用卷积滤波器,而保持其余通道不变,从而减少了计算量和内存访问。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2016

AcWing 区间问题——908. 最大不相交区间数量

可以按前一题的方式将所有区间分为几个集合,每个集合中各个区间都至少有一点相交。若要选取不相交两个区间,那么两个区间必定处于不同的集合中,而最大的不相交区间数量便是总集合数,也就是区间选点的数量。

a131529的博客 349

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

sicerit 选择不相交区间(区间问题 贪心)

966 选择不相交区间 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 好吧。这道题的目的在于让大家认识贪心问题的三个区间经典问题:区间选点问题,区间覆盖问题,以及该题的选择不相交区间问题。有许多的贪心问题可以转化为这三类的问题。 那么,对于该问题。就是给一系列的区间,求最多的区间,要求区间个数最多,这些区间不相交,需要注意的是这些区间都是闭区间。 Just For...

sincerit的博客 329

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

贪心算法-最大不相交区间数问题

数学模型 数轴上有n个区间[Ai,Bi],要求选择尽量多个区间,使得这些区间两两没有公共点。 解题思路贪心策略,按照B1<=B2<=B3……的方式进行排序,然后从前向后遍历区间,每当遇到可以加入集合的区间,就把它加入集合。(集合代表解的集合)证明我们对A1,A2……的关系分以下几种情况考虑: A1>A2。此时区间2包含区间1。这种情况下显然不会选择区间2,因为选择区间1会留下更多的剩余

xdqkid的博客 4174

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【贪心】区间问题:选点、分组、覆盖以及最大不相交数量

本文介绍贪心问题中的几种区间问题

qq_73176808的博客 1713

贪心:最大不相交区间数量—区间问题

题目: AcWing 908. 最大不相交区间数量 给定 N 个闭区间 [ai,bi],请你在数轴上选择若干区间,使得选中的区间之间互不相交(包括端点)。 输出可选取区间的最大数量。 输入格式 第一行包含整数 N,表示区间数。 接下来 N 行,每行包含两个整数 ai,bi,表示一个区间的两个端点。 输出格式 输出一个整数,表示可选取区间的最大数量。 数据范围 1≤N≤105, −109≤ai≤bi≤109 输入样例: 3 -1 1 2 4 3 5 输出样例: 2 题目分析: 这道题跟上一道题 贪心:

qq_46470984的博客 242

贪心区间问题:区间选点、最大不相交区间数量、区间分组、区间覆盖,有例题讲解

本文介绍了贪心算法在区间问题中的四种经典应用:1)区间选点问题(选择最少的点覆盖所有区间);2)最大不相交区间数量(选择最多互不重叠的区间);3)区间分组问题(将重叠区间分成最少组);4)区间覆盖问题(用最少区间覆盖目标区间)。每种问题都给出了对应的C++代码实现,核心思想是通过排序和贪心策略(如右端点优先)高效解决问题。这些方法在调度、资源分配等场景中具有重要应用价值。

m0_59858691的博客 712
上一篇: pat b1023 组个最小数 (20分)
下一篇: 二分
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值