`
com_xpp
  • 浏览: 376734 次
社区版块
存档分类
最新评论

区间相交问题(贪心)

 
阅读更多
/*日期:2011-10-22
作者:xiaosi
题目: 区间相交问题(贪心)
*/
#include<iostream>
#include<cstdio>
#include<stdlib.h>
using namespace std;
struct Region
{
int left;
int right;
}R[40001];
int cmp(const void *a,const void *b)
{
struct Region *c = (Region *)a;
struct Region *d = (Region *)b;
return c->right - d->right;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i,a,b,count=1,start;
for(i=0;i<n;i++)
{
scanf("%d %d",&a,&b);
if(a>b)
{
R[i].right=a;
R[i].left=b;
}
else
{
R[i].right=b;
R[i].left=a;
}
}
qsort(R,n,sizeof(R[0]),cmp);
start=R[0].right;
for(i=1;i<n;i++)
{
if(start<R[i].left)
{
start=R[i].right;
count++;
}
}
printf("%d\n",n-count);
}
return 0;
}
分享到:
评论

相关推荐

    8602区间相交问题

    8602区间相交问题是计算机科学领域中的一种经典问题,它是贪心算法的应用之一。该问题的描述是:给定x轴上n个闭区间,去掉尽可能少的闭区间,使剩下的闭区间都不相交。注意:这里,若区间与另一区间之间仅有端点是...

    贪心思想的区间覆盖问题

    情形1:区间完全覆盖问题 情形2:最大不相交区间数问题 情形3:区间选点问题

    贪心算法区间包含

    已知 n 个左闭右开区间 [ a , b) ,对其进行 m 次询问,求区间 [ l , r ] 最多可以包含 n 个区间中的多少个区间,并且被包含的所有区间都不相交。 用于贪心算法对区间包含问题的解决

    区间调度问题

    4. 在处理冲突时,需要确保新加入的区间不会与已选的区间相交。 5. 记录并返回最后能够安排的区间数量。 总之,区间调度问题是一个典型的计算机科学问题,它展示了贪心算法和动态规划在解决实际问题中的应用。通过...

    三类基于贪心算法覆盖问题

    贪心证明:选择起始点最早且不与已选区间相交的区间,可以确保每次添加的区间都不会与已选区间冲突,从而达到最小化区间数量的目标。 ### 总结 贪心算法在处理区间覆盖问题时,通过优先考虑局部最优解来寻求全局最...

    C++ 贪心算法的 5 大问题模板与解析

    内容简介: 涵盖 - 选择不相交区间问题 & - 区间覆盖问题 & ...五大贪心问题模板与解析。 适合人群: 普及晚期或提高早期的萌新 OIer 们。 (参考并整合自《信息学奥赛一本通——提高篇》)

    lab-4-贪心算法实现最佳任务调度实验1

    如果两个活动的使用时间区间不相交,那么它们是兼容的,可以同时进行。目标是找到一个互不兼容的最大子集。 贪心算法的关键特性包括贪心选择性质和最优子结构。贪心选择性质意味着,通过在每个阶段做出局部最优选择...

    如何证明贪心算法.docx

    贪心算法是一种在每一步选择中都采取当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。...例如,最大不相交区间问题和克鲁斯卡尔算法就是贪心算法在实际问题中的应用实例。

    (lecture_09贪心算法090420

    【贪心算法】是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致...而在区间覆盖问题和Moving Tables问题中,虽然未提供详细证明,但可以通过分析问题特性来推理贪心策略的合理性。

    贪心算法解决活动安排问题和背包问题

    若区间[si, fi]与区间[sj, fj]不相交,则称活动i与活动j是相容的。也就是说,当si≥fj或sj≥fi时,活动i与活动j相容。活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合,是可以用贪心算法有效求解的很...

    贪心算法习题PPT学习教案.pptx

    20. **区间相交问题**:寻找无重叠的时间段或资源使用情况。 21. **任务时间表问题**:贪心算法可以用于构建满足约束的任务执行计划。 22. **最优分解问题**:在组合优化问题中,贪心方法可能用于找到最佳的子集...

    第1章 贪心算法-2021.10.03.pdf

    - **选择不相交区间问题**:给定一系列活动,每项活动都有开始和结束时间,目标是选择尽可能多的不冲突的活动。贪心策略是按照活动结束时间从小到大排序,依次选择不与已选活动冲突的活动。这种策略能确保在任何...

    贪心算法解决活动安排和最优装载

    活动安排问题通常涉及到在一个有限的时间段内,我们需要从多个不相交的活动中选择最多数量的活动进行安排,使得每个活动都不会相互冲突。这个问题可以用图论中的区间调度问题来表示,每个活动看作一个时间区间,要求...

    贪心算法求活动安排报告

    本实验旨在通过具体实践,帮助学生深入理解并掌握贪心算法的基本原理及其在解决实际问题中的应用。具体包括: - **问题描述**:理解活动安排问题的具体背景及数学表述。 - **算法设计思想**:学习如何基于贪心策略...

    计算机算法设计与分析贪心算法(与“算法”有关文档共89张).pptx

    若区间[si, fi)与区间[sj, fj)不相交,则称活动i与活动j是相容的。 贪心算法可以用来解决活动安排问题,通过选择当前可行的活动,使剩余的可安排时间段极大化,以便安排尽可能多的相容活动。 贪心算法的计算过程...

    会场安排问题(贪心法)

    如果选择了会议i使用会议室,则它在半开区间[bi, ei)内占用该资源。如果[bi, ei)与[bj , ej)不相交,则称会议i与会议j是相容的。会场安排问题要求在所给的会议集合中选出最大的相容活动子集,也即尽可能地选择更多的...

    第1章 贪心算法_PDF--2021.10.03.rar

    1. **活动安排问题**:在多个不相交的活动中,选择最多数量的可参加活动,通常可以通过贪心策略解决,如按结束时间最早优先选择。 2. **最小生成树问题**:在图论中,寻找一个边的集合,连接所有节点,且总权重最小...

    贪心算法练习题.doc

    思路:这是一个选择不相交区间的问题。先对活动完毕时间从小到大排序,排序的同时活动的起始时间也要跟着变化。而且,完毕时间最小的活动一定会安排,不然这段时间就白白浪费了。后一个活动的起始时间如果比前一个...

    ACM基础算法入门讲述PPT学习教案.pptx

    贪心算法通常适用于解决区间问题,例如选择不相交区间、区间选点和区间覆盖。对于选择不相交区间的问题,可以通过将区间按照结束点从小到大排序,优先选择那些不会与其他区间重叠的区间。区间选点问题则需要选取尽量...

    算法设计与分析:3-Lec7.pdf

    文档还提到了贪心算法与其他算法的关系,比如与动态规划算法在最短路径问题和区间调度问题中的联系。动态规划是一种解决复杂问题的算法设计技术,通过将问题分解为相互依赖的更小子问题来找到最优解。贪心算法和动态...

Global site tag (gtag.js) - Google Analytics