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

关于平面图到对偶图的转化闲话哇对偶图真的是个好东西,昨天考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)
上一篇 2022年5月26日 下午4:00
下一篇 2022年5月26日 下午4:00


相关推荐

  • Matlab中的画图函数

    Matlab中的画图函数之前在进行Matlab编程时,画图总是非常重要的一部分,在这里整理一下常用的绘图函数,以作备用。

    2026年2月1日
    8
  • Python 迭代器(Iterator)

    Python 迭代器(Iterator)目录一 什么是迭代器二 可迭代的对象三 创建一个迭代器四 迭代器的应用五 小结一 什么是迭代器迭代是 python 中访问集合元素的一种非常强大的一种方式 迭代器是一个可以记住遍历位置的对象 因此不会像列表那样一次性全部生成 而是可以等到用的时候才生成 因此节省了大量的内存资源 迭代器对象从集合中的第一个元素开始访问 直到所有的元素被访问完 迭代器有两个方法 iter

    2026年3月20日
    1
  • 2025年AI编程工具大揭秘:你不可错过的必备利器!

    2025年AI编程工具大揭秘:你不可错过的必备利器!

    2026年3月12日
    2
  • Linux网络唤醒软件,Linux网络唤醒

    Linux网络唤醒软件,Linux网络唤醒在 Linux 下 当机器处于睡眠或待机状态时 想通过网络进行唤醒 WOL wakeonlan 时 可以通过如下相关命令来实现 在 A 机 嵌入式设备 上 让其睡眠 可以使用如下命令 ethtool seth0wolgech gt sys power state 或 echomem gt sys power state 对于 echo 到 state 里面的内容 可以 cat 下 s

    2026年3月19日
    2
  • I2C接口与SPI和UART接口的区别「建议收藏」

    I2C接口与SPI和UART接口的区别「建议收藏」一、SPII2CUART通信速率比较:SPI>I2C>UART1、同步通信>异步通信;2、同步通信时必须有一根时钟线连接传输的两端;3、都是串行通信方式,并行通信用于内部存储间的通信,如flash;4、适合传输的距离和通信速率成反比关系;3-SPI:两条合一的数据线、1时钟线、1CS(设备片选线)SPI:2数据线、1时钟线、1CS(设备片选线)/串行同步通信全双工I2C:1数据线、1时钟线/串行同步通信半双工传输距离比UART短UART:2数据.

    2025年11月17日
    8
  • OC——Foundation—常用的类(1)字符串(NSString)

    OC——Foundation—常用的类(1)字符串(NSString)

    2021年9月5日
    61

发表回复

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

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