`

带权区间调度

 
阅读更多

问题:有一组需求{1,...,n},每个需求i有一个开始结束时间s(i),f(i)对应,同时每个需求有一个权值vi,如果两个需求没有在时间上重叠,我们就说需求是相容的,求一个相容子集,使得权值之和最大化。

 

需要动态规划了:

首先按照结束时间f排序,升序,O(nlogn) 。

则递归解为:opt(i) = max(opt(p(i))+vi,opt(i-1)),O(n) 。

其中,p(i)是最右边的在i结束开始之前结束的需求j。

 

改天上代码。。。

 

分享到:
评论

相关推荐

    最大加权区间调度问题详解

    动态规划应用于最大加权区间调度问题详解 在这篇文章中,我们详细解释了最大加权区间调度问题,并提供了动态规划的递推公式。我们首先介绍了问题的定义和要求,然后通过实例分析了问题的思路和每一步的运算结果。...

    浅谈信息学竞赛中的区间问题

    【带权区间调度、覆盖问题】 如果每个区间有附加权重,问题将变为在满足特定条件下最大化总权重。解决这类问题可能需要在选择区间时平衡权重和不重叠条件。 【区间和点的有关问题】 这类问题可能涉及找到与给定点...

    浅谈信息学竞赛中的区间问题1

    5. **带权区间调度、覆盖问题**: 区间可能带有权重,需要在满足特定条件的同时最大化总权重,这可能需要综合考虑贪心和动态规划的策略。 6. **区间和点的有关问题**: 涉及到区间与单个点的关系,如查询点是否在...

    实验报告算法实验五1

    实验报告“算法实验五1”主要探讨了动态规划法在解决实际问题中的应用,通过两个经典实例——0-1背包问题和带权的区间调度问题,深入理解和实践动态规划算法。 1. **0-1 背包问题**:这是一个经典的优化问题,目标...

    Algorithm Design(英文版)

    6.1 带权的区间调度:一个递归过程 6.2 动态规划原理:备忘录或者子问题迭代 6.3 分段的最小二乘:多重选择 6.4 子集和与背包:加一个变量 6.5 RNA二级结构:在区间上的动态规划 6.6 序列比对 6.7 通过分治策略在...

    北大2012ACM暑期学校培训资料

    网络流问题研究在一个带权有向图中,从源点到汇点的最大流量或最小费用流量。常见的网络流模型有最大流问题、最小割问题。 Ford-Fulkerson算法和Edmonds-Karp算法是求解最大流问题的经典方法,Dinic算法则提供了更...

    我用Python写的一些算法

    带权活动选择问题(其实就是一个调度问题) 分数背包问题 ###斐波那契树 使用循环实现的算法o(n) ##数论算法 欧几里得算法求解最大公约数 ##字符串匹配算法 朴素算法 Rabin-Karp算法 KMP算法 #数据结构 ##树 ...

    贪心掌握全局秘籍.rar

    2. **9区间贪心2**:区间调度问题可能是此部分的重点,探讨如何在有限的时间段内最大化处理多个重叠区间,通常采用贪心策略按结束时间排序并逐一尝试。 3. **8区间贪心1**:与前一个文件类似,可能是区间问题的基础...

    贪心算法总结

    3. **区间调度问题**:贪心策略可能是按结束时间排序,每次都选择最早结束的事件来安排,这样可以尽可能减少冲突。 4. **背包问题**:如0-1背包问题,贪心策略可能选择单位价值最高的物品优先放入背包,但不一定能...

    张海 笔记1

    叶子节点之间通过指针连接,形成一个有序链表,便于区间查找。B+ 树的插入、删除和查找操作复杂度均为 O(logN)。 5. 倒排文件索引 倒排文件索引是搜索引擎中的重要数据结构,它以关键词为键,对应(文档号,单词号...

    阿里巴巴2015研发工程师B笔试卷及答案

    ### 阿里巴巴2015研发工程师B笔试知识点解析 ...- **解析**: 并发进程执行的相对速度是由操作系统调度器控制的,取决于调度策略而非进程本身或其他选项所述因素。因此正确答案是**d.由操作系统调度器控制**。

    preview.pdf

    1. **区间问题**:通常涉及时间或空间资源的分配,例如安排会议、任务调度等。 2. **Huffman 树**:用于数据压缩,通过构建最小带权路径长度的二叉树来实现高效编码。 3. **排序不等式**:在排序过程中满足特定条件...

    各种数据结构(包括栈,队列,二叉树,二分查找,哈夫曼树,图遍历)C语言的实现的源代码

    2. **队列**:队列是一种“先进先出”(FIFO)的数据结构,常用于任务调度、打印队列等。C语言中可以使用数组或链表来实现。队列的基本操作包括入队、出队和查看队首元素。 3. **二叉树**:二叉树是一种每个节点...

    Algorithm-algorithms-in-python.zip

    - **活动选择问题**:如区间调度,每次选择覆盖最多的事件。 8. **回溯算法**: - **八皇后问题**:在棋盘上放置八个皇后,使其互不攻击。 - **N皇后问题**:与八皇后问题类似,但皇后数量可变。 - **数独求解*...

    java数据结构与算法视频

    - **二分搜索**:适用于有序数组,在每次查找时都将搜索区间减半,直到找到目标或确定目标不存在。 #### 3. 图算法 图算法处理图数据结构中的问题,如最短路径、最小生成树等。 - **Dijkstra算法**:用于解决带权图...

    ACM算法模板集史上最完整收藏版

    - 扩展了一维线段树的功能,用于处理二维空间中的区间查询。 - 在计算机图形学等领域有着广泛应用。 15. **稳定婚姻匹配**: - Gale-Shapley算法可以找到一个稳定的婚姻匹配。 - 在配对问题中有着重要应用。 ...

    ACM 经典算法

    线段树是一种高效的区间查询数据结构,广泛应用于区间更新和查询问题。 #### 十三、其他 除了上述内容之外,《ACM经典算法》还涉及许多其他领域的知识和技术。 ##### 1. 分数/矩阵/日期/线性方程组 这些概念和...

    数据结构48章作业.doc

    关键路径算法通常用于项目管理,以优化资源分配和任务调度。 7. **拓扑排序**:是对有向无环图(DAG)的所有顶点进行线性排序的一种方法,使得对于图中任意两个顶点v和u,如果存在从v到u的路径,则v在排序序列中出现...

Global site tag (gtag.js) - Google Analytics