Ex3_28 在2SAT问题中,给定一个字句的集合..._第十二次作业


参考答案


------------------------------------------------------------------------------------------------------------------------------------------------------------------
(a) 该问题的其他满意赋值: x1=true , x2=true , x3=false , x4=true。

(c)
本题对应的有向图:

(b)中对应的有向图:

(d) 对于一个变量x,如果一个强连通部件既包含x,又包含x(一)1,那么x成立时,x(一)1也应该成立,或者x(一)1成立时,x也应该成立,这显然是矛盾的。因此如果一个强连通部件既包含x,又包含x(一)1,那么该实例没有满意赋值。
(e) 在图G中,若对于任何一个变量x,在一个强连通部件中不存在x和x(一),则选择一个汇点强连通部件,把这个汇点强连通部件中所有文字赋值为true,将所有文字的取反赋值为false,即将这个汇点强连通部件中的所有顶点都设为true,这样的赋值并不破坏逻辑,因为一个变量和变量的取反不会出现在同一个强连通部件中,这样的赋值同时也不影响其他顶点的值,因为对于p-q来说q取true,p取true或者false都能满足。同时,汇点强连通分支中顶点的取反为false,因此也不影响其子孙的值,于是删除掉汇点强连通部件中的顶点,继续在剩余的图中执行相同的操作,最终将得到一个满意的赋值。
(f) 利用拓扑排序排序有向图,然后利用e中的算法按照拓扑排序的逆序依次处理每个顶点即可。
Ex3_28 在2SAT问题中,给定一个字句的集合..._第十二次作业的更多相关文章
- Ex 4_10 给定一个有向图G=(V,E),其中边...(bellman-ford算法的应用).._第十二次作业
在bellman-ford算法中,循环n-1(n为顶点个数)次可以找出从源点到其他顶点的最多n-1条边的最短路径,若循环k次则可以找出从源点到其他顶点的最多k条边的最短路径. package org. ...
- Flask中数据库关联与分页与cache缓存(十二)
1 一对多(One To Many) 表示一对多的关系时,在子表类 Post 中需要通过 foreign key (外键)引用父表类 User 在Post类中指定ForeignKey: class P ...
- [LeetCode] 96. Unique Binary Search Trees(给定一个数字n,有多少个唯一二叉搜索树) ☆☆☆
[Leetcode] Unique binary search trees 唯一二叉搜索树 Unique Binary Search Trees leetcode java 描述 Given n, h ...
- 根据json数据中某一个属性 处理数组重组的方法 (二种)
需求:根据role 的不同分组 渲染页面 进行后期操作 后台返回数据: 因为后台返回的json数据不是我们想要的 所以就得自己来了~ 要啥样整啥样 js: 第一种处理方法 使用方法: 1: th ...
- 创建一个dynamics 365 CRM online plugin (十二) - Asynchronous Plugins
这篇是plugin的终结. 通过之前的11期我们应该发现了plugin其实学习起来不难. async plugin 是把plugin的功能async run起来. e.g. 我们之前做过的preOp ...
- 面试题:给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字
题目:给定一个长度为N的数组,其中每个元素的取值范围都是1到N.判断数组中是否有重复的数字.(原数组不必保留) 方法1.对数组进行排序(快速,堆),然后比较相邻的元素是否相同.时间复杂度为O(nlog ...
- 给定一个字符串里面只有"R" "G" "B" 三个字符,请排序,最终结果的顺序是R在前 G中 B在后。 要求:空间复杂度是O(1),且只能遍历一次字符串。
题目:给定一个字符串里面只有"R" "G" "B" 三个字符,请排序,最终结果的顺序是R在前 G中 B在后. 要求:空间复杂度是O(1),且 ...
- 给定一个数列a1,a2,a3,...,an和m个三元组表示的查询,对于每个查询(i,j,k),输出ai,ai+1,...,aj的升序排列中第k个数。
给定一个数列a1,a2,a3,...,an和m个三元组表示的查询,对于每个查询(i,j,k),输出ai,ai+1,...,aj的升序排列中第k个数. #include <iostream> ...
- 给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 ,返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况)
""" #给定一个只包含正整数的非空数组,返回该数组中重复次数最多的前N个数字 #返回的结果按重复次数从多到少降序排列(N不存在取值非法的情况) 解题思路: 1.设定一个 ...
随机推荐
- Asp.net+WebSocket+Emgucv实时人脸识别
上个月在网上看到一个用web实现简单AR效果的文章,然后自己一路折腾,最后折腾出来一个 Asp.net+WebSocket+Emgucv实时人脸识别的东西,网上也有不少相关资料,有用winform的也 ...
- [Android] Android 常见第三方库汇总地址
Android 常见第三方库汇总地址 https://github.com/wasabeef/awesome-android-libraries List of Android Libraries T ...
- 用python实现单向链表
单向链表 单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域.这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值. 表元素域ele ...
- 【转载】C#:使用双缓冲让界面绘制图形时避免闪烁
https://blog.csdn.net/fujie724/article/details/5767064#
- Kettle系列:使用Kudu API插入数据到Kudu中
本文详细介绍了在Kettle中使用 Kudu API将数据写入Kudu中, 从本文可以学习到:1. 如何编写一个简单的 Kettle 的 Used defined Java class.2. 如何读取 ...
- IScroll5要防止重复加载
增加一个判断条件,ajax未返回前,设置为true,返回前设置为false,只有为false下才能够出发加载数据事件效果好很多.
- [C++]2-2 韩信点兵
/* 韩信点兵 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队 形,而他每次只掠一眼队伍的排尾就知道总人数了.输入多组数据,每组数据包含3个非负整数 ...
- Linux性能查询常用指令
类别 监控指令 描述 备注 内存 瓶颈 free 查看内存使用 cpu 瓶颈 top -Hp 查看cpu使用最高的进程 vmstat 3(间隔时间) 100(监控次数) 查看swap i ...
- python 的基础学习 第九天 文件的操作
1,文件操作 参数:1,文件路径 2,编码方式,3,执行动作(打开方式),只读,只写,,读写,追加和读写. 1 打开文件,得到文件句柄并赋值给一个变量.2. 通过句柄对文件进行操作.3. 关闭文件 ...
- Miller-Rabin判质数和Pollared-Rho因数分解
朴素判质数:$ 在[2..\sqrt{n}]$范围内枚举逐一判断是不是$ n$的因数 时间复杂度:$ O(\sqrt{n})$ 当n达到$ 10^{18}$级别时,显然效率过低 Miller-Rabi ...