活动选择问题-动态规划/贪心算法

本文探讨了活动选择问题,该问题涉及找到一组互相兼容的最大活动子集。活动按照结束时间递增排序,通过分析问题的最优子结构,提出了动态规划和递归贪心算法两种解决方案。动态规划解法的时间复杂度为O(n^3),而贪心算法的时间复杂度为O(n)。
摘要由CSDN通过智能技术生成

问题描述:

        有一个需要使用每个资源的n个活动组成的集合S= {a1,a2,···,an },资源每次只能由一个活动使用。每个活动ai都有一个开始时间和结束时间,且 0<= si < fi <无穷 。一旦被选择后,活动ai就占据半开时间区间[si,fi)。如果[si,fi)和[sj,fj)互不重叠,则称两个活动是兼容的。该问题就是要找出一个由互相兼容的活动组成的最大子集。

定义子集合Sij = { ak  S : f i <= sk < f k <= s j}, 即每个活动都在ai结束之后开始,在aj开始之前结束,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值