zoukankan      html  css  js  c++  java
  • 2

    2 - SAT 大概是要满足以下关系:

      现在有一个集合,你现在要把这个集合里面的所有元素都分成两个集合,给定许多个诸如此类限制条件:

      1.x0与y0必须在同一集合内

      2.x1与y1必须在同一集合内

      3.x2与y2必须在同一集合内

      .....

      现在要你判断是否能将原有的那个集合分成两个集合

    思路 :

      1.首先用tarjan缩点,处于同一个强连通分量里面的元素则必须都放置在同一个集合内

        2.用缩点后的点来建一个反图

       3.寻找对立点,对于上面限制条件中,如果x,y属于不同的强连通分量中,那这两个强连通分量就是对立点

        4.拓扑排序。每次找到一个点,如果它上面没有打标记,打上选择标记,并把其对立点,打上不选标记

      如果成功就是可行的.

  • 相关阅读:
    Springboot打jar 包
    mysql 函数
    SFTP的使用
    Java Swing
    消息中间件之ActiveMQ
    对象的四种引用关系
    vs的url传参
    后台管理两级类别
    $.dialog弹层---lhgDialog
    正则小数验证和去除中间空格
  • 原文地址:https://www.cnblogs.com/MYCui/p/13751565.html
Copyright © 2011-2022 走看看