2-SAT问题
文章平均质量分 77
冷月残星
这个作者很懒,什么都没留下…
展开
-
2-SAT问题(飞机调度,LA 3211)
。。。 代码 #include #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace std; const int maxn = 2010; struct TwoSAT { int n; vectorG[maxn<<1]; int mark[maxn<<1]; int s[maxn<<1]原创 2017-02-09 18:53:18 · 591 阅读 · 0 评论 -
2-SAT问题(宇航员分组,LA 3713)
一共有三种任务,但是每个宇航员只能在其中某两种中选择一种。满足2-SAT模型的建模以及算法原理。(即每个人只能二选一)有向边uv表示选了u就要选v,这是一种限制而不是要求,所以我们依然可以把互相厌恨的条件满射成某些有向边。剩下的区别就只是搜索的时候加多一些讨论罢了。(比如dfs的失败条件不再是已经标记了另一个任务,而是另两个任务。) 防止精度问题可用乘法判断。 代码 #i原创 2017-02-09 20:03:58 · 289 阅读 · 0 评论