欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    汤泽.ppt

    • 资源ID:3209827       资源大小:349.51KB        全文页数:31页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汤泽.ppt

    从一类单调性问题看算法的优化,长沙市一中 汤泽,充分挖掘数据关系,灵活运用数据结构,往 往是构造出优秀算法的关键因素 一般队列: 一端插入,另一端删除 特殊队列: 尾端插入,两端删除 单调性: 帮助优化一类单调性问题,问题1 锯木厂选址,2=N=20000,1=Wi=10000,1=Di=10000,问题1 锯木厂选址,最优方案中,锯木厂必定建在有树的位置,问题1 锯木厂选址,问题1 锯木厂选址,分析: CI: 在第I棵树处建立一个锯木厂,并且将第1到第I棵树全部运到这个锯木厂所需的费用 WJ,I: 在第I棵树处建立一个锯木厂,并且将第J+1到第I棵树全部运往这个锯木厂的费用,问题1 锯木厂选址,分析: FI表示在第I棵树处建立第二个锯木厂 的最小费用,则:,这个算法的时间复杂度为O(N2),问题1 锯木厂选址,问题1 锯木厂选址,证明: 令SK,I表示决策变量取K时FI的值 设K1K2I, SK1,I-SK2,I0,问题1 锯木厂选址,证明: 设K1K2I, SK1,I-SK2,I0 令gK1,K2=上面不等式的左边 因为DK 0,因此Sd序列不下降,因此决策是单调的!,问题1 锯木厂选址,分析: 维护一个特殊队列K,K1K2Kn, gK1,K2gK2,K3gKn-1,Kn: 计算状态FI前,若gK1,K2=SdI,表示决策K1不比K2优,删除K1,重复该步骤,问题1 锯木厂选址,分析: 计算FI, FI=CK1+WK1,I+WI,n+1 若gKn-1,KngKn,I, SdIgKn-1,KngKn,I Kn比Kn-1优之前I就将比Kn优, 删除Kn,重复该步骤, 最后将I插入队列 算法总复杂度O(N),问题2 旅行问题,问题描述: 一个环形跑道上有n个加油站,按顺时针编号 为1到n(3n106) 第i号加油站有Pi(0=Pi109)升汽油, 每升汽油可供行驶一千米 第i号车站到其下一站的距离为Di (0di109),问题2 旅行问题,一个例子: N=5 P1=3; D1=1 P2=1; D2=2 P3=5; D3=2 P4=0; D4=1 P5=5; D5=4,3,1,5,0,5,1,2,2,1,4,问题2 旅行问题,一个例子: N=5 P1=3; D1=1 P2=1; D2=2 P3=5; D3=2 P4=0; D4=1 P5=5; D5=4,S=3,S=3,S=6,S=4,S=8,S=2,S=1,S=4,S=3,S=4,以1号加油站为起点,问题2 旅行问题,一个例子: N=5 P1=3; D1=1 P2=1; D2=2 P3=5; D3=2 P4=0; D4=1 P5=5; D5=4,S=1,以2号加油站为起点,S=-1,问题2 旅行问题,一个例子: N=5 P1=3; D1=1 P2=1; D2=2 P3=5; D3=2 P4=0; D4=1 P5=5; D5=4,S=1,S=0,S=-1,以2号加油站为起点,S=3,问题2 旅行问题,一个例子: N=5 P1=3; D1=1 P2=1; D2=2 P3=5; D3=2 P4=0; D4=1 P5=5; D5=4,以1、3、5号加油站为起点有办法周游一圈,算法 一,分析: 直接模拟刚刚的演算过程 总的时间复杂度为O(N2) 但是N最大可以达到106!,太慢了!,算法 二,分析: 假定只能按顺时针方向行驶. 令AI=PI-DI AI+N=AI A0=0 设SAI表示A序列中前I项的和,算法 二,算法 二,分析: SAI到SAI+N-1都不小于SAI-1 SAI到SAI+N-1中的最小数不小于SAI-1 求N个数中的最小数,很自然地想到了堆!,算法 二,堆中不超过N个元素 2N次插入操作 2N次删除操作 N次取堆顶元素 总复杂度O(NLog2N),算法 三,分析: 给定一个序列SA和N个区间 求出每个区间中的最小值,对其作相应判定 这是一个标准的RMQ问题! 时间复杂度降为O(N),SA: 0 2 1 4 3 4 2 1 4 3,算法 四,分析: 给定的N个区间不存在包含关系,满足单调性!,0 1 2 3 4 5 6 7 8 9 Sa: 0 2 1 4 3 4 2 1 4 3,K:,2,2,7,7,7,同样满足单调性?,算法 四,预处理: 维护一个特殊队列K, K1K2Kn Sak1Sak2SaKn 将1,2n-1依次插入队列K.插入前,如果Sai=Sakn,将Kn删除.反复该步骤,最后将i插入队列,算法 四,求解并更新K: 若K1=i-1,将K1删除出队列 插入新位置号i+n-1, 若SaKn=Sai+n-1, 删除Kn,重 复这个步骤,最后将i+n-1作为Kn插入队列 若Sak1=Sai-1,表示从i号加油站出发可以周游一周 总复杂度O(N),四个算法比较,总 结,通过充分挖掘数据关系,发现隐含的单调性, 以较低的编程复杂度成功地实现了算法的优 化 注意问题的特殊性 学会灵活变通,总 结,善于发现,勇于创新,谢谢大家!,

    注意事项

    本文(汤泽.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开