- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
国家集训队2003论文集 贝小辉
东北育才学校 贝小辉 概要 树的划分问题:将给定的一棵树划分为若干棵子树,使其能够满足一定的条件或是使得某个特定的函数达到最值。 树的最大-最小划分问题。 问题的提出 草莓(NOI2003 Day 2-2 test6~test9) 题目大意: 给出一片草莓中每个草莓的重量以及它们的连接情况。令sum(i)表示第i块草莓田中所有草莓重量的和(1≤i≤k) , x = min{ sum(i) | 1≤i≤k }。你的任务就是要把一块草莓田分割成k块,且分割方案需要满足如下的条件: 每一块中的草莓必然是直接或者间接的和其他草莓相连接的; 这种分割方案所对应的x尽可能的大。 最后输出你的分割方案和结果。 问题的提出 这是一道提交答案式的题目,其中 test6~test9 所给的图是一棵树,若不考虑具体的数据情况,我们可以将原问题抽象成如下问题: 给定一棵树以及树中每个顶点的一个非负权值,将树划分为k棵子树,定义:sum(i)表示第i棵子树中所有顶点权值的和,x=min{ sum(i)|1≤i≤ k },请求出x的最大值并输出一种划分方案。 我们把它称作树的最大-最小划分问题。 算法1:问题转化 考虑新问题: 对于一个确定的下界,最多可将树划分为多少棵子树,使得每棵子树的权值和都不小于此下界? 解决新问题 新问题的解决只需要一个以贪心思想为基础的扫描算法。 解决原问题 时间复杂度:O(N) 已是理论下界 通过二分法来找到最大的下界x,使得划分的最大子树数目不小于k,x即为原问题的解。 小结 解决问题的途径:问题转化 实现简单,运行效果好 运行时间依赖于节点的权值范围 若节点的权值范围很大或者权值是小数甚至无理数…… 时间复杂度不依赖于节点权值范围的算法? 新思路: 割 一条边所连接的两个顶点分属不同的子树,则称在这条边上有一个“割”。 每个割对应一棵子树 + 根节点所在子树 划分k棵子树 将k-1个割分配到k-1个不同的边上 新思路: 移动 一次移动被定义为将一个割从一条边移到一条与它相邻的边上,并且保证新的边一定是在原来那条边的下一层。 初始状态 最简单的方法: · 任选一个度为1的顶点为根 · 将所有割都放在与根相连的唯一的边上 可以由初始状态到达任何一个目标状态 关键: 移动规则的制定 移动规则 依据的还是一种贪心的思想: 1.计算出当前状态下子树权值和的最小值 Wmin 2.考虑所有可能的移动,找出能使移动后的割所对应的子树权值和Wnow最大的那种移动 3.如果Wnow ≥ Wmin,那么进行这步移动,并转到步骤1 4.算法结束,Wmin 即为所求的最大的最小值,当前划分即为一种最优划分 例子 “上方” 当前划分总是在某个最优划分的“上方” “上方”的定义 划分A在划分A’的上方,也就是存在一种A的割和A’的割的一一对应,使得每个A的割都在它所对应的A’的割的上方。 更加实用的性质 ? 定义:部分子树 若一棵树T的子树T’包含了顶点v连同v的某一个儿子以及这个儿子的所有后继,则称T’是T在顶点v处的一棵部分子树。与v相连的唯一一条边被称为T’的初始边。 重要性质 划分A在划分A’上方 证明算法 (1) 在初始状态时的划分A是在任何一个最优划分Q的上方的。 (2) 若存在一个最优划分Q使得当前的划分A是在Q的上方,且A和Q不相等,则算法一定不会终止。 (3) 设A在Q的上方且A不等于Q,在算法进行一步后A变为A’,我们一定还能找到一个最优划分Q’使得A’在Q’上方。 (4) 算法会在有限步内终止,算法终止时的划分一定是一个最优划分。 一些说明 字母A表示由算法进行而得到的划分。 字母Q表示一个最优划分,即使得最小子树最大的划分。 用Wmin(A)表示在划分A下的最小子树的权值和 对于任意划分A,Wmin(A) ≤ Wmin(Q) 证明算法(2) (2) 若存在一个最优划分Q使得当前的划分A是在Q的上方,且A和Q不相等,则算法一定不会终止。 证明算法(3) (3) 设A在Q的上方且A不等于Q,在算法进行一步后A变为A’,我们一定还能找到一个最优划分Q’使得A’在Q’上方。 证明算法(3) 情况2:存在在顶点v处的某棵子树T’,使得#(A)#(Q)。 小结 新思想,新方向:割,移动 贯穿整个证明过程的思想:上方 算法的扩展 权函数的扩展 子树中所有节点的权值之和 子树中节点权值最大值? 子树半径?(树的P中心问题) ……?
您可能关注的文档
- 医院条码解决方案.pdf
- 十年专注项目管理认证用心扶助PMP辉煌前程.PDF
- 午间宏观研究.PDF
- 半潜式平台气隙量数值预报方法研究.PDF
- 华东交通大学2016-2017学年度第一学期编译原理期末样题.pdf
- 华东师范大学国内公务接待管理办法.PDF
- 华中农业大学关于批准⒛年研究生课程建设项目立项的通知.PDF
- 华为PON助力数字化铁路接入改造.PDF
- 华为波分传输设备调测-光纤通道调测.pdf
- 单相交流充电桩系列.PDF
- 2025年干部谈心谈话内容范文.docx
- 2025年民主生活会对照检查发言材料范文.docx
- 水利主管部门党组书记2025年深入贯彻中央八项规定精神学习教育工作动员部署会上的讲话文稿.docx
- 2篇:机关单位深入开展贯彻落实中央八项规定精神学习教育实施方案.docx
- 领导干部深入贯彻中央八项规定精神学习教育的交流发言文稿.docx
- 企业领导干部在2025年深入贯彻中央八项规定精神学习教育动员部署会上的讲话范文.docx
- 三篇在2025年深入贯彻中央八项规定精神学习教育动员部署会上的讲话范文稿.docx
- 三篇:党员干部在贯彻落实中央八项规定精神学习教育动员部署会上的讲话范文.docx
- 5篇:党委书记在深入贯彻中央八项规定精神学习教育动员部署会上的讲话.docx
- 市委书记在研究部署深入贯彻中央八项规定精神学习教育工作会上的讲话范文.docx
文档评论(0)