




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
回到起点一种突破性思维,南京市外国语学校 朱泽园,问题一的提出 USACO Shaping Regions 改编,N个不同颜色的不透明长方形(1=N=3000) 放在一张长宽分别为A、B的白纸上 边与白纸的边缘平行 求俯视时看到的所有颜色的面积,问题一的解决简单的预处理,离散化 整数坐标 坐标范围在12n之间。,离散行,离散列,问题一的解决经典算法,3,8线段对应线段树上节点,问题一的解决经典算法,自顶至底依次插入颜色为X的线段l,r,该区间l,r上原有颜色不被替换,其余部分染上颜色X。 O(logn) 返回所有颜色的覆盖量。 O(n),问题一的解决经典算法,O(n2logn) 优点: 广为人知 复杂度较低,练习线段树的经典教材,问题一的解决朴素算法,O(n3),问题一的解决另类算法,O(n3) 优点: 极易实现 启发性强(有潜力可挖) 寻找冗余! 这一段的检索有必要吗?,问题一的解决另类算法,对已覆盖的区间,新增后续指针 走进已覆盖离散格时,沿指针进入下一个离散格 将途径离散格的后续指针设为当前覆盖区间之后的第一格。 路径压缩?神似并查集!,问题一的解决另类算法,将相邻的已染色线段看成一个集合 红色 覆盖2,5,1,2,3,4,5,6,7,8,问题一的解决另类算法,1,2,3,4,5,6,7,8,黄色 覆盖4,6,问题一的解决另类算法,1,2,3,4,5,6,7,8,绿色 覆盖1,8,问题一的解决另类算法,1,2,3,4,5,6,7,8,完整的路径压缩,再加上按秩合并可以使改进算法的时间复杂度完全降至O(n2),具体操作和证明参见我的论文。,问题二的提出 BalticOI2004 1-3 Sequence改编,给定序列t1, t2, , tN,要求构建一个递增序列z1 = z2 = = zN,使得|t1 - z1| + |t2 - z2| + + |tN - zN|尽可能小。其中1N1000000,0tK2000000000。,最优z序列,注:为了更清楚地说明诸引理与算法,下文将多次出现类似的图。其中黑点代表t序列,线段代表某一个z序列的方案。,问题二的解决定义与说明,由于最优方案不为一,下文中描述X是一组最优方案的同时,并不表示最优方案一定是X。对方案进行微调时,不保证原方案不是最优,但我们可以保证调整后的方案一定不会变差(某种程度上更接近最优)。 z序列组成的方案可用(z1,z2,zn)表示。,问题二的解决引理,对给定的t1, t2, .,tn,如果最优方案满足z1=z2=.=zn=x,那么 x为t1n中位数时,其为一个最优方案。,问题二的解决引理,对于给定的t1, t2, .,tn,如果最优方案是z1 = z2 = . = zn =u,那么,问题二的解决引理,对t1, t2, .tn,以及tn+1, tn+2, .tn+m,如果(u,u,.u)和(v,v,.,v)分别是它们的最优方案,并且uv,那么 z1n+m = t1n+m的中位数,后半部分的局部最优序列,前半部分的局部最优序列,问题二的解决第一类算法,依次处理每个元素,对先前已经得到的最优方案进行微调,第1个区间,第2个区间,第3个区间,将z值相同的子序列 看作一个连续的区间,为插入的新元素建立 一个独立的临时区间,问题二的解决第一类算法,如果当前最后一个区间的z值较前一个区间小,根据引理我们合并这两个区间,新的z值设定为它们的中位数,第1个区间,第2个区间,第3个区间,合并,找到新的中位数,问题二的解决第一类算法,如果当前最后一个区间的z值较前一个区间小,根据引理我们合并这两个区间,新的z值设定为它们的中位数,第1个区间,第2个区间,第3个区间,合并,找到新的中位数,问题二的解决第一类算法,选取一个优秀的数据结构,它可以高效地完成如下任务: 1、集合合并 2、求出该集合的中位数。 注意到集合最多和并n-1次,求中位数操作不超过n-1次。,问题二的解决第一类算法,方法一:平衡二叉树 O(n(logn)2) 方法二:最大堆 O(n(logn)2) 可以严密证明,区间合并时相邻两个区间的数,最大一半的并集,恰好是合并后区间最大的一半 方法三:在方法二基础上寻找冗余,努力避免集合的合并操作 O(nlogn) 方法四:左偏树 O(nlogn) 实现难!思考深度大!,问题二的解决引理,对给定的t序列t1n,如果z1n是一组最优策略,那么我们可以假定: 满足zix的最小的i,恰好是最小的i使得对任意ijn,tij的中位数x。 (如果某组最优方案不满足该条件,我们可以经过调整,使得另一个最优方案满足该条件),问题二的解决引理,满足zix的最小的i,恰好是最小的i使得对任意ijn,tij的中位数x。,i,zjx | i=j=n,x,zj=x | 1=ji,问题二的解决第二类算法,二分!,i,x,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第一季度院感试题(标准预防措施)有答案
- 足篮排球制作工培训考核试卷及答案
- 路基路面工测试考核试卷及答案
- 网络营销方案
- 烟草化工知识题库及答案
- 2025年国家医学考试网理论试题附答案
- 熔喷工质量追溯知识考核试卷及答案
- 酶制剂制造工基础考核试卷及答案
- 小风电利用工招聘考核试卷及答案
- 农发行邢台市南和区2025秋招笔试英语题专练及答案
- 浙能笔试题库
- 2023年航空公司招聘:机场安检员基础知识试题(附答案)
- 道路车辆清障施救服务 投标方案(技术方案)
- 港口机械设备的维护与故障排除考核试卷
- 成人糖尿病食养指南(2023年版)
- 地方病防治技能理论考核试题
- 糖尿病临床病例分析经典案例
- 用绝对值的几何意义来解题市公开课一等奖省赛课微课金奖课件
- 四川省高等教育自学考试自考毕业生登记表001汇编
- 人工智能在个性化健康风险评估中的应用
- DB35T 2054-2022 智慧消防 信息平台通用技术要求
评论
0/150
提交评论