【hnoi2010】平面图判定

本文介绍了平面图判定问题,通过2-SAT构图思想解决。当边数超过3N-6时,判断图非平面。算法复杂度为O(N^2T),并提供Pascal代码实现。
摘要由CSDN通过智能技术生成

题目描述很简单:

      把一些元素划分到两个集合,其中某些元素不能再一个集合,问是否可行。

      数据组数<=100,N<=200,M<=10000;

关于集合划分的判定性问题,很容易联想到2-sat构图。

总之思想十分简单,把每个点拆分成两个点 a 和 b ,意义是这个元素在A集合或B集合。

对与两两不可以处于同一个集合的点 i 和 j ,连接ai-bj,aj-bi(无向),存在点p,ap可以到bp,那么就是矛盾的,可以理解为p如果在A集合,那么p在B集合。

      以边为点,那么将会有M2条边,思维就在这里卡住了。

      后来仔细分析了一下,发现其实在一个n个点的哈密顿回路内部,最多有n-3条边,因此,这样的n个点的图如果有超过3N-6的边,那么一定不是平面图。所以,只有在m<=3n-6的时候才需要进行判定。

      最后算法复杂度为O(N2T);

贴代码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值