好久不写博客,这段时间实在是有点忙…写的题都没空发上来,马上就是区域赛了,现在一直在攻图论(毕竟软肋),希望能在区域赛有所帮助。
HDU 3062 Party
题目链接
题目大意
现有n对夫妻和一个聚会,聚会要求n个人参加,每对夫妻需要出一个人参加聚会,但是某些人之间又有矛盾,现在给出矛盾关系,让你求是否可能举办Party 。
题解
2-SAT模板题,相当于有n个点,某两个点的状态之间是矛盾的。于是我们可以据此建边,然后跑一遍\(tarjan\)就可以了。
代码
POJ 3648 Wedding
题目链接
题目大意&题解
这一题题目意思比较奇怪…看了别人的博客才看懂题目是什么意思…大概就是说有2n个人要坐在新娘的对面,但是这些人里面不能有夫妻,也不能有搞基的…我们按照题目给的关系建图就可以了,只不过这一题要输出解。
代码
POJ 3207 Ikki’s Story IV - Panda’s Trick
题目链接
题目大意&题解
这个题比较有意思一点。说是n个点,标号从0到n,现在有若干条线段,可以从园内连也可以从圆外连,每条线段的端点都是这n个点中的某两个,现在告诉你一个点不会成为两个线段的端点,问你这若干条线段是否会相交。
可以先将线段按照右端点排序,然后判断两条线段之间是否会冲突(冲突的意思就是比如一条线段从圆内连,另外一条线段就必须要从圆外面连),我们根据冲突建边之后,跑一遍\(tarjan\)就可以了。
代码
POJ 3678 Katu Puzzle
题目链接
题目大意&题解
最裸的2-SAT了,n个值,告诉你每两个值之间的关系\((or,and,xor == 0/1)\),现在让你求是否合法。
直接建立矛盾关系在图上跑一遍就行啦~
代码
HDU 4421 Bit Magic
题目链接
题目大意&题解
这一题就是上一题的升级版,他现在把1位关系变成了32位关系,让你求是否可行。
一样的做法,对每一位建图跑一遍就行了。