`
Kingson_Wu
  • 浏览: 119714 次
文章分类
社区版块
存档分类
最新评论

区间相交问题

 
阅读更多
8602 区间相交问题
时间限制:1000MS 内存限制:1000K 提交次数:0 通过次数:0
语言: not limited
描述
给定x轴上n个闭区间,去掉尽可能少的闭区间,使剩下的闭区间都不相交。
注意:这里,若区间与另一区间之间仅有端点是相同的,不算做区间相交。例如,[1,2]和[2,3]算是不相交区间。
输入格式
第一行一个正整数n,表示闭区间数。接下来n行中,每行2个整数,表示闭区间的2个整数端点。
输出格式
输出去掉的最少的闭区间数。
输入样例
3 10 20 10 15 12 15
输出样例
2
Hint

这个问题基本等同于书本P103的活动安排问题。



-------------------------------------------------------------------



8602区间相交问题(贪心)

������

#include<stdio.h>

#include"malloc.h"

voidGreedySelector(intn,ints[],intf[],intA[])

{

intj=0,i;

A[0]=1;

for(i=1;i<n;i++)

{

if(s[i]>=f[j]){A[i]=1;j=i;}

elseA[i]=0;

}

}

intmain()

{

intn,*s,*f,*A,i,j,temp,sum=0;

scanf("%d",&n);

s=(int*)malloc(n*sizeof(int));

f=(int*)malloc(n*sizeof(int));

A=(int*)malloc(n*sizeof(int));

for(i=0;i<n;i++)

{

scanf("%d",&s[i]);

scanf("%d",&f[i]);

A[i]=0;

}

for(i=1;i<n;i++)

{

for(j=0;j<i;j++)

if(f[i]<f[j])

{

temp=f[j];f[j]=f[i];f[i]=temp;

temp=s[j];s[j]=s[i];s[i]=temp;

}

}

GreedySelector(n,s,f,A);

for(i=0;i<n;i++)

{

sum+=A[i];

}

printf("%d\n",n-sum);

return0;

}


分享到:
评论

相关推荐

    8602区间相交问题

    注意:这里 若区间与另一区间之间仅有端点是相同的 不算做区间相交 例如 [1 2]和[2 3]算是不相交区间 输入格式 第一行一个正整数n n&lt; 50 表示闭区间数 接下来n行中 每行2个整数 表示闭区间的2个整数端点 ...

    不相交的闭区间的并

    给定n个闭区间[ai, bi](1 ),这些区间的并可以表示为一些不相交的闭区间的并。要求在这些表示方式中找出包含不相交区间数目最少的方案。 【输入形式】 输入文件为当前目录下的prz.in。 该文件的第一行包含一个...

    贪心思想的区间覆盖问题

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

    区间调度问题

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

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

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

    区间树查找区间算法的实现

    区间树是一种数据结构,主要用于高效地处理一系列区间查询和操作,比如查找与特定点相交的区间、查找覆盖某一区间的最小区间等。在计算机科学中,它在图形学、数据库、调度算法等多个领域有广泛应用。这个压缩包文件...

    java-leetcode面试题解哈希表第352题将数据流变为多个不相交区间-题解.zip

    本题解主要关注的是哈希表的运用,具体是LeetCode中的第352题——"数据流中的不相交区间"。这个题目涉及到数据结构、动态规划以及哈希表的高效操作,因此对于理解和掌握这些知识点具有很高的价值。 哈希表是一种...

    红黑树、区间树

    在查询时,区间树可以快速定位到与目标区间相交的所有元素。区间树的操作包括插入区间、删除区间、更新区间以及查询区间交集。 在给定的“main函数中写的是区间树的测试程序”,这通常意味着文件包含了一个C++或...

    带权区间图的最短路算法

    2. **区间交集**: 区间\(I\)和区间\(J\)相交当且仅当\(I \cap J \neq \emptyset\)。 3. **区间集合** \(S\): 由\(n\)个区间组成,每个区间的形式为\[I(i) = [a(i), b(i)], 1 \leq i \leq n\],其中\(b(1) \leq b(2) ...

    在matlab中连续区间 交集 和 并集

    在MATLAB中,通常使用向量来表示连续区间,例如`A = [a, b, c, d]`,这代表了一个由两个不相交子区间`(a, b)`和`(c, d)`组成的集合`A`。这里的最简表达式意味着区间没有重叠部分,并且已按顺序排列。因此,`[a, b, c...

    判断线段相交及点是否在多边形内

    在计算机图形学和算法设计中,判断线段相交与点是否在多边形内是常见的问题,尤其在碰撞检测、几何渲染等领域有着广泛应用。本文将深入探讨这两个知识点,并结合提供的源代码`is_iner.cpp`和文档`是否相交.doc`进行...

    贪心算法区间包含

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

    红黑树与区间树算法实现

    区间树可以快速地找出与给定区间相交的所有区间,时间复杂度通常也是O(log n)。在实验中,`IntervalTree.c`和`IntervalTree.h`实现了区间树的构造、插入、删除和查询功能。 `csdn-红黑树与区间树.doc`文档可能包含...

    java 区间

    当需要快速查找与特定值相交的区间时,这样的数据结构非常有用。 对于“源码”标签,可能意味着我们需要查看Java标准库或其他开源库中对区间的实现。例如,Guava库提供了一个`Range`类,它支持区间操作并提供了丰富...

Global site tag (gtag.js) - Google Analytics