ImageVerifierCode 换一换
格式:PPT , 页数:32 ,大小:542.50KB ,
资源ID:7183821      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7183821.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ACM程序设计贪心算法.ppt)为本站会员(lxhqcj)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

ACM程序设计贪心算法.ppt

1、ACM程序设计,电子科技大,上一周,,你 了吗?,练习,2019/5/9,2,每周一星(6):,Teddy,2019/5/9,3,第七讲,贪心算法 (Greedy Algorithm),2019/5/9,4,还记得FatMouse Trade吗?,2019/5/9,5,所谓“贪心算法”是指:,在对问题求解时,总是作出在当前看来是最好的选择。也就是说,不从整体上加以考虑,它所作出的仅仅是在某种意义上的局部最优解(是否是全局最优,需要证明)。,2019/5/9,6,特别说明:,若要用贪心算法求解某问题的整体最优解,必须首先证明贪心思想在该问题的应用结果就是最优解!,2019/5/9,7,用事实说话

2、,2019/5/9,8,一、事件序列问题,已知N个事件的发生时刻和结束时刻(见下表,表中事件已按结束时刻升序排序)。一些在时间上没有重叠的事件,可以构成一个事件序列,如事件 2,8,10。事件序列包含的事件数目,称为该事件序列的长度。请编程找出一个最长的事件序列。,2019/5/9,9,算法分析:,不妨用Begini和Endi表示事件i的开始时刻和结束时刻。则原题的要求就是找一个最长的序列a1a2an,满足: Begina1Enda1= BeginanEndan,可以证明,如果在可能的事件a1a2an中选取在时间上不重叠的最长序列,那么一定存在一个包含a1(结束最早)的最长序列。 (证明:略)

3、,2019/5/9,10,思考:,请谈谈自己的解题思路,2019/5/9,11,思考题,2037 今年暑假不AC,2019/5/9,12,二、区间覆盖问题,用i来表示x轴上坐标为i-1,i的区间(长度为1),并给出M(1=M=200)个不同的整数,表示M个这样的区间。现在让你画几条线段覆盖住所有的区间,条件是:每条线段可以任意长,但是要求所画线段之和最小,并且线段的数目不超过N(1=N=50)。 例如:M=5个整数1、3、4、8和11表示区间,要求所用线段不超过N=3条 0 1 2 3 4 5 6 7 8 9 10 11,2019/5/9,13,算法分析:,如果N=M,那么显然用M条长度为1的

4、线段可以覆盖住所有的区间,所求的线段总长为M。 如果N=1,那么显然所需线段总长为: 如果N=2,相当于N=1的情况下从某处断开(从哪儿断开呢?)。 如果N=k呢?,2019/5/9,14,三、HDOJ_1050 Moving Tables,Sample Input 3 4 10 20 30 40 50 60 70 80 2 1 3 2 200 3 10 100 20 80 30 50,Sample Output 10 20 30,2019/5/9,15,算法分析:,1、如果没有交叉,总时间应该是多少? 2、影响搬运时间的因素是什么? 3、如果每趟处理都包含最大重叠,处理后的效果是什么? 4、

5、得出什么结论?,2019/5/9,16,附:参考源码(HDOJ-1050),#include using namespace std; int main() int t,i,j,N,P200;int s,d,temp,k,min; cint; for(i=0;iN; for(j=0;jsd; s=(s-1)/2; d=(d-1)/2;,if(sd) temp=s; s=d; d=temp; for(k=s;kmin) min=Pj; coutmin*10endl; return 0; ,2019/5/9,17,贪心算法的基本步骤,1、从问题的某个初始解出发。 2、采用循环语句,当可以向求解目标

6、前进一步时,就根据局部最优策略,得到一个部分解,缩小问题的范围或规模。 3、将所有部分解综合起来,得到问题的最终解。,2019/5/9,18,贪心算法都很简单吗?,看一道难一些的。 (2004年上海赛区:正式赛是简单题),2019/5/9,19,ACM-ICPC Asia Regional, 2004, Shanghai,Tian JiThe Horse Racing,2019/5/9,20,示意图:,2019/5/9,21,谈谈自己的想法吧,2019/5/9,22,Case 1:,King: 200 180 160 Tianji: 190 170 150,2019/5/9,23,Case 2

7、:,King: 200 180 160 Tianji: 180 170 150,2019/5/9,24,Case 3:,King: 200 180 160 Tianji: 180 155 150,2019/5/9,25,总体的思路是什么?,2019/5/9,26,提醒:,很多贪心类型的题目都象本题一样,不是最朴素的贪心,而是需要做一些变化,对于我们,关键是找到贪心的本质!,2019/5/9,27,最后一个思考题,2019/5/9,28,Any questions?,相关练习,1050 Moving Tables 1051 Wooden Sticks 1052 Tian Ji - The Horse Racing 1789 Doing Homework again 2037 今年暑假不AC 1045 Fire Net 1053 Entropy 1054 Strategic Game 1800 Flying to the Mars,2008ACM ProgrammingExercise(8)_贪心算法,2019/5/9,30,下一讲:,母函数及其应用,2019/5/9,31,Welcome to HDOJ,Thank You ,2019/5/9,32,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报