平面图转对偶图

平面图转对偶图常用于解决平面图的最小割问题。

一般的平面图转对偶图的通法是 “最小左转法”(其实也可以说成“最大左转法”,看你如何理解旋转角度)。

每一条无向线段,拆成两个方向的有向线段各一条。

每一条有向线段 uv,在 v 的出边按 atan2 lower_bound 找 nxt:

image

当一条边一直沿着 nxt 走回到了自己,就形成了一个平面

对每一个没有被 vis 的边执行上述操作,然后将新增的面编号,再将这些边编号挂在这个面上(此 vector 不妨叫做 coat),最后将这些边 vis=1。

唯一面积算出来(用叉积算)为负数的面即为无界面

对了,反向边最好 i^1 像网络流那样前向星建图,这样方便找一个面的相邻面。

P2046 [NOI2010] 海拔

P3249 [HNOI2016] 矿区

P4073 [WC2013]平面图

posted @   ShaoJia  阅读(384)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示