1.问题描述:     n个作业{1,2,…,n}要在由2台机器M1和M2组成的流水线上完成加工.每个作业加工的顺序都是先在M1上加工,然后在M2上加工.M1和M2加工作业i所需的时间分别为ai和bi.流水作业调度问题要求确定这n个作业的最优加工顺序,使得从第一个作业在机器M1上开始加工,到最后一个作业在机器M2上加工完成所需的时间最少.     2.问题分析 直观上,一个最优调度应使机器M1没有空闲时间,且机器M2的空闲时间最少.在一般情况下,机器M2上会有机器空闲和作业积压2种情况.设全部作…
前提说明,因为我比较菜,关于理论性的证明大部分是搬来其他大佬的,相应地方有注明. 我自己写的部分换颜色来便于区分. 邻项交换对比是求一定条件下的最优排序的思想(个人理解).这部分最近做了一些题,就一起归纳一下. [P1080国王游戏] 题目描述 恰逢 HH国国庆,国王邀请nn 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 nn 位大臣排成一排,国王站在队伍的最前面.排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣…
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1205 题意:中文题诶- 思路:johnson模板题 流水作业调度问题的Johnson算法: (1)令N1={i|ai<bi}, N2={i|ai>=bi}: (2)将N1中作业按ai的非减序排序:将N2中作业按bi的非增序排序: (3)N1中作业接N2中作业构成满足Johnson法则的最优调度. 关于johnson算法详细讲解:http://blog.csd…
1 .1 第 1 章─概论   1.1.1 练习题   1 . 下列关于算法的说法中正确的有( ).   Ⅰ Ⅱ Ⅲ Ⅳ .求解某一类问题的算法是唯一的   .算法必须在有限步操作之后停止   .算法的每一步操作必须是明确的,不能有歧义或含义模糊   .算法执行后一定产生确定的结果   A. 1 个   B.2 个   C.3 个   D.4 个   2 . T(n)表示当输入规模为 n 时的算法效率,以下算法效率最优的是( ).   A.T(n)= T(n-1)+1,T(1)=1   C.T(…
流水作业调度问题 有\(N\)个作业要在两台机器\(M_1\)和\(M_2\)组成的流水线上完成加工.每个作业\(i\)都必须先花时间\(a_i\)在\(M_1\)上加工,然后花时间\(b_i\)在\(M_2\)上加工. 确定\(N\)个作业的加工顺序,使得从作业1在机器\(M_1\)上加工开始到作业\(N\)在机器\(M_2\)上加工完为止所用的总时间最短. [算法] 直观上,最优调度一定让\(M_1\)没有空闲,\(M_2\)的空闲时间尽量短. Johnson算法:设\(N_1\)为\(a<…
"500行或更少" "What I cannot create, I do not understand." -- Richard Feynman <500行或更少>--开源应用架构系列第四版的源码. 项目的目的在于给阅读者更广的视野,让阅读者理解软件设计者的想法. 项目地址: https://github.com/aosabook/500lines 这个项目里的每个文件夹基本都是一个独立的项目.试图用500行左右或者更少的代码完成某种特定的需求.在阅读…
题目大意:某工厂收到了n个产品的订单,这n个产品分别在A.B两个车间加工,并且必须先在A车间加工后才可以到B车间加工.某个产品i在A.B两车间加工的时间分别为Ai.Bi.怎样安排这n个产品的加工顺序,才能使总的加工时间最短.这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在A.B两车间加工完毕的时间. 题解:可以先考虑只有两个物品的情况,设两个物品的加工时间分别为 \(a_1,b_1,a_2,b_2\),则先加工 A 再加工 B 的总时间为 \(a_1+max(b_1,a_2)+…
2021-10-14 P2577 [ZJOI2004]午餐 2021-10-13 CF815C Karen and Supermarket(小小紫题,可笑可笑) P6748 『MdOI R3』Fallen Lord(sort(a+1,a+1+n,greater<int>()); 真好用) P4161 [SCOI2009]游戏 P1707 刷题比赛 2021-10-12 CF1573A Countdown P2717 寒假作业 P7868 [COCI2015-2016#2] VUDU P1660…
1209: 独立任务最优调度问题 时间限制: 1 Sec  内存限制: 128 MB提交: 3  解决: 2[提交][状态][讨论版][命题人:liyuansong] 题目描述 用2台处理机A和B处理n个作业.设第i个作业交给机器A处理时需要时间ai,若由机器B来处理,则需要时间bi.由于各作业的特点和机器的性能关系,很可能对于某些i,有ai≥bi,而对于某些j,j≠i,有aj<bj.既不能将一个作业分开由2台机器处理,也没有一台机器能同时处理2个作业.设计一个算法,使得这2台机器处理完这n个作…
根据DSqiu的blog整理出来 :http://dsqiu.iteye.com/blog/1689163 PS:模板是自己写的,如有错误欢迎指出~ 本文内容框架: §1 Dijkstra算法 §2 Bellman-Ford算法 §3 Floyd-Warshall算法 §4 Johnson算算法 §5 问题归约 §0 小结 常用的最短路径算法有:Dijkstra算法.Bellman-Ford算法.Floyd-Warshall算法.Johnson算法 最短路径算法可以分为单源点最短路径和全源最短路…