摘要: P3007 [USACO11JAN] The Continental Cowngress G 题目链接 思路:2-SAT模板,经典的或条件,那么直接建图即可,对于可行解,我们直接枚举每个方案支持和反对,然后染色判断即可。 代码: #include<bits/stdc++.h> using names 阅读全文
posted @ 2024-05-19 22:01 Showball 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Catowice City 题目链接 思路: 第 \(i\) 个人认识第 \(j\) 只猫,所以选了第 \(i\) 个人就必须选第 \(j\) 个人,那么我们连一条 \(i\) 指向 \(j\) 的边。 那么同一个连通分量中就必须同时选择。考虑不能对其他猫产生影响,我们可以选择一个没有出边的强连通分 阅读全文
posted @ 2024-05-19 20:53 Showball 阅读(3) 评论(0) 推荐(0) 编辑
摘要: P5782 [POI2001] 和平委员会 题目链接 思路: 因为 \(u\) 和 \(v\) 矛盾,即 \(\lnot (u \land v)\)。 转化成 \(\lnot u \lor \lnot v\) 。那么根据 \(2-SAT\) 标准处理方式。转化为: \((u \rightarrow 阅读全文
posted @ 2024-05-19 12:06 Showball 阅读(3) 评论(0) 推荐(0) 编辑
摘要: P4171 [JSOI2010] 满汉全席 2-SAT 题目链接 思路: 2-SAT模板题,我们将满席定为1,汉席定为0.那么建边即可。判断同一道菜满汉是否在强联通分量中即可。 注意多测清空!!! 代码: vector<int> e[N]; stack<int> stk; int dfn[N],lo 阅读全文
posted @ 2024-05-19 11:35 Showball 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 2-SAT 2-SAT,简单的说就是给出 \(n\) 个集合,每个集合有两个元素,已知若干个 \(<a,b>\),表示 \(a\) 与 \(b\) 矛盾(其中 \(a\) 与 \(b\) 属于不同的集合)。然后从每个集合选择一个元素,判断能否一共选 \(n\) 个两两不矛盾的元素。显然可能有多种选择 阅读全文
posted @ 2024-05-19 11:34 Showball 阅读(2) 评论(0) 推荐(0) 编辑