- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 贪心算法 课程安排 第4章 贪心算法 会场安排问题 最优合并问题 磁带最优存储问题 磁盘文件最优存储问题 程序存储问题 最优服务次序问题 多处最优服务次序问题 d森林问题 汽车加油问题 区间覆盖问题 硬币找钱问题 删数问题 数列极差问题 嵌套箱问题 套汇问题 信号增强装置问题 磁带最大利用率问题 非单位时间任务安排问题 多元Huffman编码问题 多元Huffman编码变形 区间相交问题 任务时间表问题 最优分解问题 可重复最优分解问题 可重复最优组合分解问题 旅行规划问题 登山机器人问题 算法实现题4-1 会场安排问题 问题描述: 假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排。(这个问题实际上是著名的图着色问题。若将每一个活动作为图的一个顶点,不相容活动间用边相连。使相邻顶点着有不同颜色的最小着色数,相应于要找的最小会场数。) 编程任务: 对于给定的k个待安排的活动,编程计算使用最少会场的时间表(必须都安排完成)。 算法实现题4-1 会场安排问题 数据输入: 第一行有1 个正整数k,表示有k个待安排的活动。接下来的k行中,每行有2个正整数,分别表示k个待安排的活动开始时间和结束时间。时间以0 点开始的分钟计。 结果输出: 最少会场数。 输入文件 5 1 23 12 28 25 35 27 80 36 50 输出示例 3 算法实现题4-5 程序存储问题 问题描述: 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1 ≤ i ≤ n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。 编程任务: 对于给定的n个程序存放在磁带上的长度,编程计算磁带上最多可以存储的程序数。 算法实现题4-5 程序存储问题 数据输入: 第一行是2 个正整数,分别表示文件个数n和磁带的长度L。接下来的1 行中,有n个正整数,表示程序存放在磁带上的长度。 结果输出: 最多可以存储的程序数。 输入示例 6 50 2 3 13 8 80 20 输出示例 5 算法实现题4-5 程序存储问题 int greedy( vectorint x, int m){ int i=0, sum=0, n=x.size(); sort(x.begin(),x.end()); while(i n){ sum += x[i]; if(sum = m) i++; else return i; } return n; //所有的程序都没有磁带长 } 算法实现题4-6 最优服务次序问题 问题描述: 设有n 个顾客同时等待一项服务。顾客i需要的服务时间为ti, 1=i = n 。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n 个顾客等待服务时间的总和除以n。 编程任务: 对于给定的n个顾客需要的服务时间,编程计算最优服务次序。 算法实现题4-6 最优服务次序问题 数据输入: 第一行是正整数n,表示有n 个顾客。接下来的1行中,有n个正整数,表示n个顾客需要的服务时间。 结果输出: 计算出的最小平均等待时间。 输入示例 10 56 12 1 99 1000 234 33 55 99 812 输出示例 532.00 算法实现题4-6 最优服务次序问题 double greedy( vectorint x) { int i,n=x.size(); sort(x.begin(),x.end()); for(i=1;in;++i) x[i] += x[i-1]; double t=0; for(i=0;in;++i) t+=x[i]; t /= n; return t; } 算法实现题4-7 多处最优服务次序问题 问题描述: 设有n 个顾客同时等待一项服务。顾客i需要的服务时间为ti ,1= i = n。共有s 处可以提供此项服务。应如何安排n 个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待服务时间的总和除以n。 编程任务: 对于给定的n个顾客需要的服务时间和s的值,编程计算最优服务次序。 算法实现题4-7 多处最优服务次序问题 数据输入: 第一行有2 个正整数n 和s,表示有n 个顾客且有s 处可以提供顾客需要的服务。接下来的1 行中,有n个正整数,表示n个顾客需要的服务时间。 结果输出: 最小平均等待时间。 输入示例 10 2 56 12 1 99 1000 234 33 55 99
您可能关注的文档
最近下载
- 中学语文课外活动计划.docx VIP
- 打造高水平双师队伍的探索与实践——以深圳职业技术学院物流管理专业为例.pdf VIP
- “双高计划”背景下高水平“双师型”教师队伍建设路径探究.docx VIP
- FANUC机器人..ppt VIP
- (新教材)部编人教版一年级上册语文全册核心素养教案(教学反思有内容+二次备课版).pdf
- 《“双高计划”背景下高职院校高水平双师队伍建设研究》总结报告.docx VIP
- 《中医学》舌诊--课件.ppt VIP
- 北京大学口腔医学院《352口腔综合》[专业硕士]历年考研真题汇编合集.docx
- GB T 42061-2022 医疗器械标准 条款讲解 培训教程.pptx VIP
- 2024年成都中医药大学辅导员招聘考试笔试题库及答案解析.docx VIP
文档评论(0)