平面图转对偶图
平面图转对偶图常用于解决平面图的最小割问题。
一般的平面图转对偶图的通法是 “最小左转法”(其实也可以说成“最大左转法”,看你如何理解旋转角度)。
每一条无向线段,拆成两个方向的有向线段各一条。
每一条有向线段 ,在 的出边按 atan2 lower_bound 找 nxt:
当一条边一直沿着 nxt 走回到了自己,就形成了一个平面。
对每一个没有被 vis 的边执行上述操作,然后将新增的面编号,再将这些边编号挂在这个面上(此 vector 不妨叫做 coat),最后将这些边 vis=1。
唯一面积算出来(用叉积算)为负数的面即为无界面。
对了,反向边最好 i^1 像网络流那样前向星建图,这样方便找一个面的相邻面。
P2046 [NOI2010] 海拔
P3249 [HNOI2016] 矿区
P4073 [WC2013]平面图
本文来自博客园,作者:ShaoJia,版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义