
ACM/ICPC图论_TwoSAT
just_sort
Acdream.
展开
-
CF 776D The Door Problem TwoSAT 模板题
题目链接:这里 题意:有n道门,m个开关,每道门由m个开关中的两个控制,若门的状态是0(关),那么改变控制这道门的一个开关之后,门的 状态就变为1(开),若门的状态是1(开),那么改变控制这道门的一个开关之后,门的状态就变为0(关)。 现已知n道门的初始状态,以及m个开关分别控制哪些门,问能不能通过按下某些开关,使得全部门的状态都变为1。 解法:看到每道门恰好两个开关控制,想到2-SAT解决。对原创 2017-03-07 14:33:33 · 1144 阅读 · 0 评论 -
2017/4/15 Twosat介绍
Twosat讲解详见算法入门经典1 324页贴出白书模板struct TwoSAT{ int n; vector <int> G[maxn*2]; bool mark[maxn*2]; int S[maxn*2], c; bool dfs(int x){ if(mark[x^1]) return false; if(mark[x原创 2017-04-14 21:35:54 · 532 阅读 · 0 评论 -
UVALive 3211 Now or later 二分+Twosat
题目链接:https://vjudge.net/problem/UVALive-3211题意:每架飞机有早晚起降两种方式,给定n架飞机两种方式的起落时间,为每架飞机安排起落时间(早或晚),使得所有飞机起降时间按照早到晚的顺序之间的间隔时间最小值尽量大。解法:最小时间尽量大应该采用二分的方法比较好,然后就变成了判别某个时间间隔m是不是符合要求的了。为没加飞机设立一个变量xi,0表示早,1表示晚,然后每原创 2017-05-09 17:38:50 · 397 阅读 · 0 评论 -
UVALive3713-Astronauts 2-SAT
题目链接:https://vjudge.net/problem/UVALive-3713题意:有A、B、C 3个任务分配给n个宇航员,其中每个宇航员恰好分配一个任务。假设n个宇航员的平均年龄为x,只有年龄大于x的才能领取A任务;只有年龄严格小于x的才能领取B任务,而任务C没有限制。有m对宇航员相互讨厌,因此不能分配同一任务。求出是否能找出符合的任务方案。解法:用xi表示第i个宇航员的分配方案。年龄大原创 2017-05-10 09:59:07 · 437 阅读 · 0 评论 -
UVALive - 4452 The Ministers' Major Mess TwoSaT
题目链接:~题意:有n个人对m个方案投票,每个人最多只能对其中的4个方案投票(其他的相当于弃权),每一票要么支持要么反对。问是否存在一个最终决定,使得每个投票人都有超过一半的建议被采纳,在所有可能的最终决定中,哪些方案的态度是确定的。解法:注意到一个人最多投四个,我们分情况讨论一下: 1.投2.投3~4个:同上,最多不采纳一个。 设xi表示最后是否通过方案i, 第一原创 2017-11-19 17:47:30 · 345 阅读 · 0 评论