2-SAT
陌离将离
这个作者很懒,什么都没留下…
展开
-
HDU - 3062 Party 2-SAT问题 tarjan 模板
题意:中文题,有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席。在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛盾的2个人是不会同时出现在聚会上的。有没有可能会有n 个人同时列席?SAT是适定性(Satisfiability)问题的简称 。一般形式为k-适定性问题,简称 k-SAT。 当k>2时,k-SAT是NP完全的。因此一般讨论的是...原创 2018-08-04 13:06:04 · 228 阅读 · 0 评论 -
HDU - 1824 Let's go home 2 - SAT 问题 tarjan
题意:中文题。把每一队看成是一组,队长为 i << 2, 队员都为 i << 2 | 1, 这样就能转化为2 - SAT问题。2-SAT问题最主要的就是一组里有对立的两个元素,通过他们的belong去判断是否yes。组间元素的关系去连边。链接:hdu - 1824#include <iostream>#include <algorith...原创 2018-08-05 11:23:05 · 198 阅读 · 0 评论 -
HDU - 3622 Bomb Game 二分 + 2 - SAT tarjan
题意:有一个有趣的游戏,每一轮给定两个点,只能且必须在一个点上面放置炸弹,炸弹的爆炸范围是任意的,但是任意两个炸弹的爆炸范围不能相交,在n轮游戏过后,得分为最小爆炸范围的半径,求n轮游戏之后的最大可能得分。题目为每次只能在两个里选一个,是2-SAT模型,又所求的为最大化最小值,所以用二分。每次看两点间距离是否大于半径的二倍,是就可以都选,跑2-SAT,如果一组里的值都选了,则说明半径小了,...原创 2018-08-05 15:36:59 · 196 阅读 · 0 评论 -
HDU - 3715 Go Deeper 二分 + 2-SAT tarjan
题意:给你一个递推式,问你最多能循环几层?go(int dep, int n, int m) begin output the value of dep. if dep < m and x[a[dep]] + x[b[dep]] != c[dep] then go(dep + 1, n, m) end 递推式如上,若想循环下去,就要使第四行式子中“ x[a[dep]] + x...原创 2018-08-05 16:39:06 · 238 阅读 · 0 评论