肖天 “分层图思想”及其在信息学竞赛中的应用.pptVIP

肖天 “分层图思想”及其在信息学竞赛中的应用.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
肖天 “分层图思想”及其在信息学竞赛中的应用

“分层图思想”及其 在信息学竞赛中的应用 天津市南开中学 肖天 主要内容 这不是一个算法,而是一个建模思想 通过一个例题介绍该思想,并小结该思想的特点 应用该思想解决另一个例题,得到一个高效算法 例1:拯救大兵瑞恩(CTSC’99) 求从地图左上角到右下角的最少步数 例1:拯救大兵瑞恩(CTSC’99) 几点说明: 地图中共有P种钥匙(门),P ≤ 10 同种钥匙(或门)可能有多个 问题的简化 先忽略钥匙和门的问题 分析 加入钥匙和门的因素 不能再简单地求最短路,因为通过某些边是有条件的(拿到相应钥匙) 需要考虑钥匙状态: 0:未拿到该钥匙 1:已拿到该钥匙 图的分层 小结:分层图的特点 分层消耗时间少 所有层都极为相似 所有的层是拓扑有序的 问题的规模并没有增大,而数学模型更清晰了 例2:迷宫改造(Winter Camp’99) 有一个N*M的长方形迷宫,其中假定有P个人,他们分别从P个指定的起点出发,要求他们只能向南或向东移动,分别到达P个指定的终点 问至少拆掉多少堵墙 (这是原问题的一部分) 例2:迷宫改造(Winter Camp’99) 参数限定 N = M (≤ 20) 1 ≤ P ≤ 3 增加起点与终点重合的人使 P = 3 解法1:动态规划 以平行于副对角线的斜线划分阶段 状态描述 斜线位置 三个人的位置 细节 解法1:动态规划 状态数:O(N4) 每个状态的状态转移方案: ≤8 时间复杂度:O(N4) 空间复杂度:O(N3) 解法1:动态规划 — 分析 仍有冗余计算! 挖掘问题特点 某人路线的最优性受其他人影响,但是 如果某人与其他人没有公共路线,那么他的路线是最优的当且仅当此路线是他起点与终点之间的最短路 如果某人路线中A点与B点之间的部分与其他人没有公共部分,且该路线是最优的,那么AB段一定是A点与B点之间的最短路 挖掘问题特点 请看下面的示意图 试图消除冗余 ②的路线是最短路,只需计算一次 通过预处理求出任意两点间的最短路 时间复杂度O(N4) 继续挖掘问题特点 两人有公共路线时,代价只计算一次 两人路线之并集没有环 三人路线之并集没有环 继续挖掘问题特点 假想有一个人SuperMan要从左上角走到右下角,要求是他要走过所有的公共路线 这个SuperMan一定能找到满意的路线,我们称该路线为主路线 反证法: 继续挖掘问题特点 有人可能根本不进入主路线 主路线之外的部分都是最短路,预处理时间复杂度O(N2) 解法2:应用“分层图思想” 每个人有三个状态: 0:未进入主路线 1:正在主路线中 2:已离开主路线 换一个角度,主路线对每个人同样有三个状态:0,1,2 解法2:应用“分层图思想” 将原图复制33=27份,记为G(s1, s2, s3),其中si ∈ {0, 1, 2}表示第 i 个人的状态 在相邻层的所有对应顶点间加边,权为: 0→1:从起点到该点的最短路长度 1→2:从该点到终点的最短路长度 解法2:应用“分层图思想” 求解以G(0, 0, 0)左上角顶点为起点的单源最短路问题。 终点不是G(2, 2, 2)右下角顶点,而是所有满足si ∈ {0, 2}的层G(s1, s2, s3)的右下角顶点 解法2:应用“分层图思想” 总结 干扰因素使问题的模型变得模糊 将干扰因素细化为若干状态——分层 将状态联系起来——层的连接 找到算法 谢谢! * * 入口 大兵瑞恩 Rescue(CTSC’99) 问题转化为在一个给定隐式图中的最短路问题 起点 终点 BFS ! G(0, 0):无钥匙 G(1, 0):已拿到钥匙1 G(0, 1):已拿到钥匙2 G(1, 1):已拿到钥匙1和2 起点 终点 终点 终点 终点 好像大了点儿…… ② ① ① ② ① ② 如右图:只考虑两次P=1的情况即可 原因 两人之间只在有公共路线时才有关系 其它时候,原则上只需分别考虑 ① ① ②的情况被重复计算了 ① ① 最短路 最短路 拆 每一段都是最短路 ① ② ① ② ① ① 失败 主路线 P 3 主路线 求“最短”的主路线 0 2 1 0 0 1 2 0→1 1→2

文档评论(0)

zsmfjh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档