- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 贪心算法 一、基本概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。 所以对所采用的贪心策略一定要仔细分析其是否满足无后效性。 二、基本思路 1.建立数学模型来描述问题。 2.把求解的问题分成若干个子问题。 3.对每一子问题求解,得到子问题的局部最优解。 4.把子问题的解局部最优解合成原来解问题的一个解。 三、适用问题 贪心策略适用的前提是:局部最优策略能导致产生全局最优解。 四、实现框架 从问题的某一初始解出发; while (能朝给定总目标前进一步) { 利用可行的决策,求出可行解的一个解元素; } 由所有解元素组合成问题的一个可行解; 五、贪心策略的选择 因为用贪心算法只能通过解局部最优解的策略来达到全局最优解,因此,一定要注意判断问题是否适合采用贪心算法策略,找到的解是否一定是问题的最优解。 【例1】排队打水问题 有N个人排队到R个水龙头去打水,他们装满水桶的时间为T1,T2,…,Tn为整数且各不相等,应如何安排他们的打水顺序才能使他们花费的时间最少? 【算法分析】 由于排队时,越靠前面的计算的次数越多,显然越小的排在越前面得出的结果越小(可以用数学方法简单证明,这里就不再赘述),所以这道题可以用贪心法解答,基本步骤: (1)将输入的时间按从小到大排序; (2)将排序后的时间按顺序依次放入每个水龙头的队列中; (3)统计,输出答案。 【样例输入】 4 2 //4人打水,2个水龙头 2 6 4 5 //每个打水时间 参考程序主要框架如下: cinnr; memset(s,0,sizeof(s)); //初始化 j=0; minx=0; for (i=1;i=n;++i) //用贪心法求解 { j++; if (j==r+1) j=1; //前r个人为一组,第r+1个人回到第一个水龙 s[j]+=a[i]; //加上等待时间 minx+=s[j]; } coutminx; //输出解答 【样例输出】 23 //总共花费时间 【例2】均分纸牌(NOIP2002) 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若干张纸牌,然后移动。 移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。 现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。 例如 N=4,4 堆纸牌数分别为: ① 9 ② 8 ③ 17 ④ 6 移动3次可达到目的: 从 ③ 取4张牌放到④(9 8 13 10)-从③取3张牌放到 ②(9 11 10 10)- 从②取1张牌放到①(10 10 10 10)。 【输入格式】 N(N 堆纸牌,1 = N = 100) A1 A2 … An (N 堆纸牌,每堆纸牌初始数,l= Ai =10000) 【输出格式】 所有堆均达到相等时的最少移动次数。 【样例输入】Playcard.in 4 9 8 17 6 【样例输出】Playcard.out 3 【算法分析】 如果你想到把每堆牌的张数减去平均张数,题目就变成移动正数,加到负数中,使大家都变成0,那就意味着成功了一半!拿例
您可能关注的文档
- 2018年重庆市云阳县生物中考试题(附答案).docx
- 人教部编版八年级道德和法治上册课时检测:5.1法不可违.doc
- 二O一八年常州市部分学校中考模拟冲刺卷(A).doc
- 人教部编版九年级历史下册第14课 法西斯国家的侵略扩张课件.pptx
- 人教版九年级数学下册:26.1 反比例函数——反比例函数的面积问题 .pptx
- 九上第1周数学能力专训20190913(无答案).docx
- 18江苏单招联盟1模机电试卷.doc
- 广西灵山县天山中学2019年秋季学高一年级地理第三周考试测试卷.docx
- 第十四章中草药和冷热疗法.ppt
- 综合素质评价实施方案设计.doc
- 养老评估师中级行为面试题库及案例分析.docx
- 面试培训督导时考察其课程理解能力的题目.docx
- 税务专员面试中关于增值税政策的常见问题解答.docx
- 2025宁波市医疗保障局局属事业单位宁波市医疗保障基金管理中心招聘事业编制工作人员1人备考试题附答案.docx
- 2025咸宁市汉口银行咸宁嘉鱼支行招聘笔试历年题库附答案解析.docx
- 2025北京人才发展战略研究院招录笔试备考题库附答案.docx
- 2025四川成都市龙泉驿区青台山中学校秋季教师招聘22人笔试试题附答案解析.docx
- 2025台州市银龄讲学计划教师招募13人笔试参考试题附答案解析.docx
- 2025中国铁建公开招聘42人笔试题库附答案.docx
- 2025中智咨询研究院社会招聘笔试参考题库附答案.docx
最近下载
- 学堂课程在线中国电影经典影片鉴赏(北师)课后作业答案..docx VIP
- 最新 2024年山东省中考语文真题(解析版).pdf VIP
- 中建钢筋制作场标准化图册.pdf VIP
- 上外版(2025) 必修第一册 Unit 3 Travel Reading A课件(共13张PPT)(含音频+视频).pptx VIP
- 小红书种草初级复习测试卷附答案.docx
- 初中 中考语文现代文(记叙文)-阅读理解专项试题附答案解析 3篇G.docx VIP
- 在英语课堂教学中渗透本土文化意识培养.doc VIP
- 2020八年级下数学期末平行四边形提优5.1.doc VIP
- 食材出入库及储存管理制度.docx VIP
- 幼儿园课程故事:玫瑰花开.pptx
原创力文档


文档评论(0)