摘要: 一、SAT 问题简介 在日常的学习生活中,我们经常遇到如下问题: 在一场同学聚会上,你打算邀请 \(n\) 对 \(cp\) 参加,第 \(i\) 对 \(cp\) 的编号为 \((i,i+n)\)。但是,有一些人可能有冲突,有冲突的人不能同时参加聚会。你在每对 \(cp\) 都要挑选恰好一人参加聚 阅读全文
posted @ 2025-07-01 17:08 white_tiger 阅读(288) 评论(0) 推荐(0)
摘要: 在 \(2-SAT\) 计数里应该算是史诗级经典了。 容易想到将后勤和卧底分成两种状态,用 \(2-SAT\) 暴力建边。建边方式略去不表。 关键问题在于计数。我们似乎并没有专门的方法去进行这类计数,因此只能分析题目的关键性质了。 显然,我们容易求出一组特解,满足后勤集合为 \(S\),卧底集合为 阅读全文
posted @ 2025-07-01 16:22 white_tiger 阅读(14) 评论(0) 推荐(0)
摘要: 发现 \(x\) 只有 \(8\) 个,想到暴力枚举每个 \(x\) 是 \(b\) 还是 \(c\)(这样就将 \(ABC\) 全覆盖了),时间复杂度 \(\times 2^d\),可以接受。 考虑建边。建边可以分为 \(3\) 种情况: \(i\) 本身就不能选 \(h_i\)。那这条要求就是没 阅读全文
posted @ 2025-07-01 12:00 white_tiger 阅读(8) 评论(0) 推荐(0)
摘要: 容易发现题目给出的三大条件(难兄难弟、死神来了、不能复活)都可以用经典 \(2-sat\) 建图解决。假如我们对于每个火星人都拆成 \(T+1\) 份,那点数肯定爆炸,所以考虑对点进行合并,只将在该火星人可能因为外力发生改变或能改变其他火星人生死的时间作为断点(当然,此处不包括不能复活)。 具体连边 阅读全文
posted @ 2025-07-01 09:55 white_tiger 阅读(31) 评论(0) 推荐(0)