博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最佳调度问题 题解
阅读量:6514 次
发布时间:2019-06-24

本文共 569 字,大约阅读时间需要 1 分钟。

【题目描述】

假设有 n 个任务由 k 个可并行工作的机器来完成。完成任务 i 需要的 时间为 ti。试设计一个算法找到出完成这个 n 个任务的最佳调度,使得完成全部任务的时间最早。对任意给定的整数 n 和 k,以及完成任务 i 需要的时间为 ti,1<=i<=n。编程计算完成这 n 个任务的最佳调度。n<=20,k<=8

【输入】

第 1 行有 2 个正整数 n 和 k。第 2 行的 n 个正整数是完成 n 根任务需要的时间。

【输出】

计算出的完成全部任务的最早时间

【样例输入】

7 3

2 14 4 16 6 5 3

【样例输出】

17

==================题解==================

Dfs。

读入后先按降序排列,为机器开一个数组表示每个机器的工作时间,dfs函数中首先传入两个参数,分别是当前遍历到哪一个元素了与当前时间的最大值。之后对于当前元素枚举每个机器,找到放下此元素后不超过当前时间的最大值的机器,将时间加上之后调函数递归,传入的第二个参数就应该是此机器累加后的时间与原来最大时间的较大值,函数返回后要将所加上的时间再减掉。当达到最后一个元素时判断一下ans是否要更新,之后返回。

转载于:https://www.cnblogs.com/linjia64/p/9607157.html

你可能感兴趣的文章
5G技术的5大猜想
查看>>
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
查看>>
如何重现难以重现的bug
查看>>
别随便安装 Pokemon GO被曝藏恶意后门
查看>>
BBC即将推出Britflix流媒体服务:欲成为英国版Netflix
查看>>
行成于思:从Oracle到MySQL
查看>>
让数据会思考会说话,为出海企业提供多样化数据智能解决方案
查看>>
费埃哲获网络安全分析及公用事业网络保护新专利
查看>>
我眼中的自动化测试框架设计要点
查看>>
光伏组件回收将有150亿美元产值 国内政策仍空白
查看>>
《VMware vSphere企业运维实战》——2.3 vSphere ESXi基本管理与配置
查看>>
FLIF:自由的无损图像格式
查看>>
《计算机系统:核心概念及软硬件实现(原书第4版)》——3.7 总结
查看>>
Google开源Inception-ResNet-v2,提升图像分类水准
查看>>
《我的视频我做主:Premiere Pro CS5实战精粹》——1.4 Adobe Premiere Pro CS5介绍
查看>>
Opera 出售细节曝光:昆仑出资1.68亿美元
查看>>
设计师的自我修养:细数优点和缺点
查看>>
《技术的潜能:商业颠覆、创新与执行》一一第1章 技术难关
查看>>
Linux 系统成长之路:试用 1993-2003 年Linux 老版本系统
查看>>
《Adobe Flash CS5 ActionScript 3.0中文版经典教程》——1 导航Flash时间轴 1.1 课程概述...
查看>>