最佳调度问题pascal程序
Description
假设有n个任务由k个并行工作的机器来完成。完成任务i需要的时间为Ti。试设计一个算法找出完成这n个任务的最佳调度,使得完成全部任务的时间最早。
算法设计:对任意给定的整数n和k,以及完成任务i需要的时间为Ti,i=1,2,3……n。计算完成这n个任务的最佳调度。
Input
第一行有2个正整数n和k。第2行的n个正整数是完成n个任务需要的时间。
Output
将计算的完成全部任务的最早时间
Sample Input
7 3 2 14 4 16 6 5 3
Sample Output
17
这题我是用搜索来做的
这题有点像接水问题
var n,k,tj,i:longint; b,t:array[0..10000]of longint; procedure kp(l,r:longint); var i,j,mid:longint; beginif l>=r then exit;i:=l;j:=r;mid:=t[(l+r)div 2];repeatwhile t[i]>mid do inc(i);while t[j]<mid do dec(j);if i<=j thenbegint[0]:=t[i];t[i]:=t[j];t[j]:=t[0];inc(i);dec(j);end;until i>j;kp(l,j);kp(i,r); end; procedure search(dep,time:longint); var i:longint; beginif dep>n thenif time<tj thenbegintj:=time;exit;end;if time>=tj then exit;for i:=1 to k dobeginb[i]:=b[i]+t[dep];if b[i]>time then search(dep+1,b[i]) else search(dep+1,time);b[i]:=b[i]-t[dep];end; end; beginreadln(n,k);tj:=10000;fillchar(t,sizeof(t),0);for i:=1 to n doread(t[i]);kp(1,n);fillchar(b,sizeof(b),0);search(1,0);write(tj); end.
转载于:https://www.cnblogs.com/YYC-0304/p/9500239.html
最佳调度问题pascal程序相关推荐
- 最佳调度问题(搜索回溯)
最佳调度问题 [问题描述] 假设有n个任务由k个可并行工作的机器完成.完成任务i需要的时间为ti.试设计一个算法找出完成这n个任务的最佳调度,使得完成全部任务的时间最早. [编程任务] 对任意给定的整 ...
- 如何在 iOS、MacOS 上使用 ChatGPT 和适用于 iPhone 的最佳 ChatGPT 应用程序
目录 什么是聊天 GPT? 如何在我的 iPhone 上使用 ChatGPT? 适用于 iPhone 的最佳 ChatGPT 应用程序 在过去的几周里,出现了许多 ChatGPT 应用程序和网站.如果 ...
- Pascal程序结构
Pascal程序结构 什么是Pascal程序结构 Pascal程序结构是指Pascal程序的基本组成部分及其组织方式,包括程序.单元.过程.函数.类型定义.变量定义.语句和表达式等.程序结构的良好设计 ...
- 我的第一次Pascal程序
今天刚刚来学点Pascal语言,都怪我买的书大多是用Pascal语言写的,所以我只能试着学一点咯! 来一段程序员最经典的Hello World! 1 program exl_2; 2 begin 3 ...
- windows归档命令_适用于Windows的最佳文件归档程序
windows归档命令 Need to extract an archive or compress some files? Avoid big-name programs like WinZip a ...
- 流量变现的最佳工具——小程序直播
如今做直播带货,除了淘抖快三大直播平台之外,就是微信了.在微信上做直播的除了视频号,商家还可以在小程序上做直播带货,不如说小程序直播是微信团队用来专门做直播带货的. 什么是小程序直播? 它是微信官方提 ...
- android程序键盘锁_适用于Android的最佳键盘应用程序
android程序键盘锁 The interactions you have with your phone's keyboard are easily some of the most intima ...
- 适用于iPhone或iPod Touch的最佳Office应用程序是什么?
Want to see what all of the major Office apps for iPhone and iPod Touch offer without wasting money ...
- 最优乘车pascal程序
Description H城是一个旅游胜地,每年都有成千上万的人前来观光.为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路.每条单程巴士线路从某个巴士站出发,依 ...
最新文章
- Google Chrome的CSS hack写法
- 蜜罐技术——通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析...
- MapReduce初级案例
- table { border-collapse:collapse; }
- [Android]你不知道的Android进程化(2)--创建进程
- JavaWeb(七)——Cookie、Session
- Numpy 排序 -- sort()、argsort()
- 安装OpenResty(Nginx+Lua)开发环境
- JDK,JRE,JVM,JIT
- JS获取标签方法及兼容处理
- matlab谐波仿真代码,matlab的谐波仿真程序基于ip-iq法???怎么出不来图像啊???...
- python 动态调整控件大小_python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例...
- java英文版怎么汉化_请问,java中,将下面的英文名字变为中文 该怎样输出?
- NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示
- java nginx 重启吗_Nginx的启动、停止、平滑重启
- 深度学习PyTorch,TensorFlow中GPU利用率较低,使用率周期性变化的问题
- HAL库与标准库的理解
- 3到5年工作经验是如何回答面试中被问到的Java集合框架问题
- ECCVW 2022 | 第二届城市规模点云语义理解挑战赛
- Latex如何排版矩阵
热门文章
- 重磅!吴恩达、林轩田公开课交流群正式成立啦
- extundelete安装_Linux数据安全工具:数据恢复软件extundelete概述
- VTK修炼之道77:交互部件_分割/配准类Widget与其他Widget
- 数据库记录的添加、修改、删除(DataAdapter、DataTable 、DataRow )
- “7th-place-solution-microsoft-malware-prediction”——kaggle微软恶意代码检测比赛第七名代码
- 在Navicat中直接向表里添加数据
- dokuwiki 部署笔记
- Python学习之zip函数
- Java基本数据类型及String类
- 随笔(二)-- PyCharm如何更改背景图片