分层图思想及其在信息学竞赛中的应用课件_第1页
分层图思想及其在信息学竞赛中的应用课件_第2页
分层图思想及其在信息学竞赛中的应用课件_第3页
分层图思想及其在信息学竞赛中的应用课件_第4页
分层图思想及其在信息学竞赛中的应用课件_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“分层图思想”及其

在信息学竞赛中的应用天津市南开中学

肖天“分层图思想”及其

在信息学竞赛中的应用天津市南开中学1主要内容这不是一个算法,而是一个建模思想通过一个例题介绍该思想,并小结该思想的特点应用该思想解决另一个例题,得到一个高效算法主要内容这不是一个算法,而是一个建模思想2例1:拯救大兵瑞恩(CTSC’99)求从地图左上角到右下角的最少步数入口大兵瑞恩例1:拯救大兵瑞恩(CTSC’99)求从地图左上角到右下角的3例1:拯救大兵瑞恩(CTSC’99)几点说明:地图中共有P种钥匙(门),P

≤10同种钥匙(或门)可能有多个例1:拯救大兵瑞恩(CTSC’99)几点说明:4问题的简化先忽略钥匙和门的问题Rescue(CTSC’99)问题转化为在一个给定隐式图中的最短路问题起点终点BFS!问题的简化先忽略钥匙和门的问题Rescue(CTSC’99)5分析加入钥匙和门的因素不能再简单地求最短路,因为通过某些边是有条件的(拿到相应钥匙)需要考虑钥匙状态:0:未拿到该钥匙1:已拿到该钥匙分析加入钥匙和门的因素6图的分层G(0,0):无钥匙G(1,0):已拿到钥匙1G(0,1):已拿到钥匙2G(1,1):已拿到钥匙1和2起点终点终点终点终点图的分层G(0,0):无钥匙G(1,0):已拿到钥匙1G7小结:分层图的特点分层消耗时间少所有层都极为相似所有的层是拓扑有序的问题的规模并没有增大,而数学模型更清晰了小结:分层图的特点分层消耗时间少8例2:迷宫改造(WinterCamp’99)有一个N*M的长方形迷宫,其中假定有P个人,他们分别从P个指定的起点出发,要求他们只能向南或向东移动,分别到达P个指定的终点问至少拆掉多少堵墙(这是原问题的一部分)例2:迷宫改造(WinterCamp’99)有一个N*M的9例2:迷宫改造(WinterCamp’99)参数限定

N=M(≤20)1≤P≤3

增加起点与终点重合的人使P=3例2:迷宫改造(WinterCamp’99)参数限定10解法1:动态规划以平行于副对角线的斜线划分阶段状态描述斜线位置三个人的位置细节解法1:动态规划以平行于副对角线的斜线划分阶段11解法1:动态规划状态数:O(N4)每个状态的状态转移方案:≤8时间复杂度:O(N4)空间复杂度:O(N3)好像大了点儿……解法1:动态规划状态数:O(N4)好像大了点儿……12②①①②解法1:动态规划—分析仍有冗余计算!①②如右图:只考虑两次P=1的情况即可原因两人之间只在有公共路线时才有关系其它时候,原则上只需分别考虑①①②的情况被重复计算了①①②①①②解法1:动态规划—分析仍有冗余计算!①②如右13挖掘问题特点某人路线的最优性受其他人影响,但是如果某人与其他人没有公共路线,那么他的路线是最优的当且仅当此路线是他起点与终点之间的最短路如果某人路线中A点与B点之间的部分与其他人没有公共部分,且该路线是最优的,那么AB段一定是A点与B点之间的最短路挖掘问题特点某人路线的最优性受其他人影响,但是14挖掘问题特点请看下面的示意图最短路最短路拆每一段都是最短路挖掘问题特点请看下面的示意图最短路最短路拆每一段都是最短路15试图消除冗余②的路线是最短路,只需计算一次通过预处理求出任意两点间的最短路时间复杂度O(N4)①②①②①①失败试图消除冗余②的路线是最短路,只需计算一次①②①②①①失败16继续挖掘问题特点两人有公共路线时,代价只计算一次两人路线之并集没有环三人路线之并集没有环继续挖掘问题特点两人有公共路线时,代价只计算一次17继续挖掘问题特点假想有一个人SuperMan要从左上角走到右下角,要求是他要走过所有的公共路线这个SuperMan一定能找到满意的路线,我们称该路线为主路线反证法:主路线P>3继续挖掘问题特点假想有一个人SuperMan要从左上角走到右18继续挖掘问题特点有人可能根本不进入主路线主路线之外的部分都是最短路,预处理时间复杂度O(N2)主路线求“最短”的主路线继续挖掘问题特点有人可能根本不进入主路线主路线求“最短”的主19解法2:应用“分层图思想”每个人有三个状态:0:未进入主路线1:正在主路线中2:已离开主路线换一个角度,主路线对每个人同样有三个状态:0,1,20210012解法2:应用“分层图思想”每个人有三个状态:01001220解法2:应用“分层图思想”将原图复制33=27份,记为G(s1,s2,s3),其中si∈{0,1,2}表示第i

个人的状态在相邻层的所有对应顶点间加边,权为:0→1:从起点到该点的最短路长度1→2:从该点到终点的最短路长度0→11→2解法2:应用“分层图思想”将原图复制33=27份,记为G(s21解法2:应用“分层图思想”求解以G(0,0,0)左上角顶点为起点的单源最短路问题。终点不是G(2,2,2)右下角顶点,而是所有满足si∈{0,2}的层G(s1,s2,s3)的右下角顶点解法2:应用“分层图思想”求解以G(0,0,0)左上角顶22解法2:应用“分层图思想”解法2:应用“分层图思想”23总结干扰因素使问题的模型变得模糊将干扰因素细化为若干状态——分层将状态联系起来——层的连接找到算法总结干扰因素使问题的模型变得模糊24谢谢!谢谢!25“分层图思想”及其

在信息学竞赛中的应用天津市南开中学

肖天“分层图思想”及其

在信息学竞赛中的应用天津市南开中学26主要内容这不是一个算法,而是一个建模思想通过一个例题介绍该思想,并小结该思想的特点应用该思想解决另一个例题,得到一个高效算法主要内容这不是一个算法,而是一个建模思想27例1:拯救大兵瑞恩(CTSC’99)求从地图左上角到右下角的最少步数入口大兵瑞恩例1:拯救大兵瑞恩(CTSC’99)求从地图左上角到右下角的28例1:拯救大兵瑞恩(CTSC’99)几点说明:地图中共有P种钥匙(门),P

≤10同种钥匙(或门)可能有多个例1:拯救大兵瑞恩(CTSC’99)几点说明:29问题的简化先忽略钥匙和门的问题Rescue(CTSC’99)问题转化为在一个给定隐式图中的最短路问题起点终点BFS!问题的简化先忽略钥匙和门的问题Rescue(CTSC’99)30分析加入钥匙和门的因素不能再简单地求最短路,因为通过某些边是有条件的(拿到相应钥匙)需要考虑钥匙状态:0:未拿到该钥匙1:已拿到该钥匙分析加入钥匙和门的因素31图的分层G(0,0):无钥匙G(1,0):已拿到钥匙1G(0,1):已拿到钥匙2G(1,1):已拿到钥匙1和2起点终点终点终点终点图的分层G(0,0):无钥匙G(1,0):已拿到钥匙1G32小结:分层图的特点分层消耗时间少所有层都极为相似所有的层是拓扑有序的问题的规模并没有增大,而数学模型更清晰了小结:分层图的特点分层消耗时间少33例2:迷宫改造(WinterCamp’99)有一个N*M的长方形迷宫,其中假定有P个人,他们分别从P个指定的起点出发,要求他们只能向南或向东移动,分别到达P个指定的终点问至少拆掉多少堵墙(这是原问题的一部分)例2:迷宫改造(WinterCamp’99)有一个N*M的34例2:迷宫改造(WinterCamp’99)参数限定

N=M(≤20)1≤P≤3

增加起点与终点重合的人使P=3例2:迷宫改造(WinterCamp’99)参数限定35解法1:动态规划以平行于副对角线的斜线划分阶段状态描述斜线位置三个人的位置细节解法1:动态规划以平行于副对角线的斜线划分阶段36解法1:动态规划状态数:O(N4)每个状态的状态转移方案:≤8时间复杂度:O(N4)空间复杂度:O(N3)好像大了点儿……解法1:动态规划状态数:O(N4)好像大了点儿……37②①①②解法1:动态规划—分析仍有冗余计算!①②如右图:只考虑两次P=1的情况即可原因两人之间只在有公共路线时才有关系其它时候,原则上只需分别考虑①①②的情况被重复计算了①①②①①②解法1:动态规划—分析仍有冗余计算!①②如右38挖掘问题特点某人路线的最优性受其他人影响,但是如果某人与其他人没有公共路线,那么他的路线是最优的当且仅当此路线是他起点与终点之间的最短路如果某人路线中A点与B点之间的部分与其他人没有公共部分,且该路线是最优的,那么AB段一定是A点与B点之间的最短路挖掘问题特点某人路线的最优性受其他人影响,但是39挖掘问题特点请看下面的示意图最短路最短路拆每一段都是最短路挖掘问题特点请看下面的示意图最短路最短路拆每一段都是最短路40试图消除冗余②的路线是最短路,只需计算一次通过预处理求出任意两点间的最短路时间复杂度O(N4)①②①②①①失败试图消除冗余②的路线是最短路,只需计算一次①②①②①①失败41继续挖掘问题特点两人有公共路线时,代价只计算一次两人路线之并集没有环三人路线之并集没有环继续挖掘问题特点两人有公共路线时,代价只计算一次42继续挖掘问题特点假想有一个人SuperMan要从左上角走到右下角,要求是他要走过所有的公共路线这个SuperMan一定能找到满意的路线,我们称该路线为主路线反证法:主路线P>3继续挖掘问题特点假想有一个人SuperMan要从左上角走到右43继续挖掘问题特点有人可能根本不进入主路线主路线之外的部分都是最短路,预处理时间复杂度O(N2)主路线求“最短”的主路线继续挖掘问题特点有人可能根本不进入主路线主路线求“最短”的主44解法2:应用“分层图思想”每个人有三个状态:0:未进入主路线1:正在主路线中2:已离开主路线换一个角度,主路线对每个人同样有三个状态:0,1,20210012解法2:应用“分层图思想”每个人有三个状态:01001245解法2:应用“分层图思想”将原图复制33=27份,记为G(s1,s2,s3),其中si∈{0,1,2}表示第i

个人的状态在相邻层的所有对应顶点间加边,权为:0→1:从起点到该点的最短路长度1→2:从该点到终点的最短路长度0→11→2解法2:应用“分层图思想”将原图复制33=27份,记为G(s46解法2:应用“分层图思想”求解以G(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论