关于平面图到对偶图的转化

关于平面图到对偶图的转化闲话哇对偶图真的是个好东西,昨天考NOI2010的时候前两道很快做完了,看着t3发呆了1个多小时,啥也想不出来.看着网格图突然想到听说bzoj1001狼抓兔子可以用对偶图求解.对偶图是啥我也不知道,听说把面看成点,连边后跑一边最短路就可以了.但是当时想到这个突然发现自己不会建对偶图,看时间还有一个多小时,于是建了8种可能的图,每一个都跑一遍spfa,发现有一个可以过样例,手

大家好,又见面了,我是你们的朋友全栈君。

闲话

哇对偶图真的是个好东西, 昨天考NOI2010的时候前两道很快做完了, 看着t3发呆了1个多小时, 啥也想不出来. 看着网格图突然想到听说bzoj1001狼抓兔子可以用对偶图求解. 对偶图是啥我也不知道, 听说把面看成点, 连边后跑一边最短路就可以了. 但是当时想到这个突然发现自己不会建对偶图, 看时间还有一个多小时, 于是建了8种可能的图, 每一个都跑一遍spfa, 发现有一个可以过样例, 手动模拟一下觉得这种建图没错, 就交上去了. 没想到居然还对了, 哈哈NOI2010我居然290(spfa被卡了一个点), 心中狂喜, 但是一想到t1做过, t3蒙对也就不敢说什么了, 而且这是10年的题了, 时代在进步啊…

什么是平面图?

平面图的定义就是所有的边只在顶点处相交, 这里就是一个例子.


这里写图片描述


你看, 边与边之间没有相交吧~.
其实这是论文PPT的图, 本人画的太丑就不挂出来了.

So…对偶图?

对于每一个平面图, 都有与其相对应的对偶图. 我们假设上面的例图是图G, 与其对应的对偶图G*, 那么对于G*来说, G*上面的每一个点, 对应的是G里面的每一个面. 比如说下面就是G*.

这里写图片描述

上面的点就是对偶图G里的点.
那么关于对偶图G*里的边呢 ? 对于G中本来的每条边e, 他是两个面(比如说面f1和f2)的交边, 那么在对偶图里, 我们对这两个面(f1, f2)所映射在G*里的点连线(f1* 连向f2*). 如果f1 == f2(比如说G中5, 6这条边, 边的两侧都是同一个面, 那我们就建一条回边.
图就长这样(回边在5, 6那里).


这里写图片描述


这个就是对偶图了.

平面图与对偶图之间的关系

1.G*中的环与G中的割一一对应.(割就是一些边, 如果割掉这些边使图分成两个互不连通的子图的话, 就称之为割).
举例: 1*-2*-3*-4*这个G*里的环, 对应的是G中1-3, 2-3, 3-4, 3-5这个割.
TIPS:这个性质对于平面图的最小割有巨大的作用.

2.G的面数等于G*的点数, G与G*的边数相同.

The END

希望能对大家有所帮助. 平面图转对偶图在平面图网络流问题里面作用巨大. 最小割转对偶图最短路问题解法:Click Here.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141132.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 太极阳必须要root吗_root手机教程

    太极阳必须要root吗_root手机教程以前的root基本是suroot,但是su不再维护更新之后,就有了现在的比su更好玩的root手机的工具→magisk。Magisk具备很强大的模块扩展,可以不修改system区的文件,达到修改system文件一样的效果,例如换字体,换主题,换卡机界面,换gpu驱动等等。现在就来一个面具的刷入教程。1.一台可以解锁BL的手机(可以查看公众号的历史信息,刷机教程)2.给机器刷入第三方Re…

    2022年6月4日
    87
  • js数组截取方式splice()和slice()方法

    js数组截取方式splice()和slice()方法js数组截取方式splice()和slice()方法1.splice()splice()方法可以添加元素、删除元素,也可以截取数组片段。删除元素时,将返回被删除的数组片段,因此可以使用splice()方法截取数组片段//传递一个参数,则该方法仅执行删除操作,参数值指定删除元素的起始下标(包含该下标元素)//splice()方法将删除后面所有元素vara=[1,2,3,4,5];//定义数组varb=a.splice(2);//从第三个元素开始执行删除console

    2022年5月25日
    45
  • 解决安装MATLAB2018b时出现License Manager Error -8(许可证管理器错误)的问题

    解决安装MATLAB2018b时出现License Manager Error -8(许可证管理器错误)的问题原博文的地址 1、解压的时候要将两个iso解压到同一个文件夹,意思是第一个解压得到R2018_win_dvd1,第二个解压得到R2018_win_dvd2,要将第二个文件夹里的内容复制到第一个文件夹中。2、matlab2018b是没有R2018b这个文件夹的,其他教程里说什么将netapi32….

    2022年7月26日
    118
  • 我秃了!唯一索引、普通索引我该选谁?

    我秃了!唯一索引、普通索引我该选谁?你遇到过不知道如何选择唯一索引和普通索引的场景么?你知道他俩的原理和区别么?来不及了,快上车!!

    2022年9月20日
    3
  • phpmyadmin端口多少(iis配置改端口号)

    当前使用phpmyadmin版本号为phpMyAdmin-4.7.5mysql默认端口3306,如果你当前mysql不是3306,则如何通过phpmyadmin连接呢?网上文章都是要修改phpmyadmin目录下libraries下配置文件config.default.php文件的$cfg[‘Servers’][$i][‘port’]=”参数,…

    2022年4月10日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号