摘要: http://poj.org/problem?id=3683题意:一个教父,在一天中要给n对新婚夫妇举行婚礼。已知每对夫妇举行婚礼的起始时间Si和终止时间Ti ,教父送祝福的时间要么在Si->Si +Di 要么在Ti - Di->Ti。问在这一天中,教父如何安排才能对着n对新人都送去祝福?思路:把每对新人的婚礼的起始时间和结束时间加减Di后分成两个对立的点,然后检查每个点(这里每个点表示一个时间段,教父在这一事件段里送上祝福)是否存在区间相交,如果i与j存在相交则i->j^1建边。然后将缩点后的图重新反向建图,利用拓扑排序,输出解。//#pragma comment(link 阅读全文
posted @ 2013-01-30 19:45 E_star 阅读(331) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3678题意:给定n个点,这些点只能取0或1。然后给出m条边,每条边四个变量 a,b,c,op op的取值为(AND,OR,XOR) 问是否存在一组解X0,X1,....Xn-1使得每条边满足Xa op Xb = c Xa,Xb表示每条边的端点。思路:2-sat。 将每个顶点i拆分成两个点,2*i和2*i +1 分表表示0,1。然后根据已知条件建图。建图的思想不是很清晰给出过程:(1) A and B = 0 添加弧 A->!B , B->!A(2)A and B = 1 !A->A , !B->B(3)A or B 阅读全文
posted @ 2013-01-30 10:34 E_star 阅读(295) 评论(0) 推荐(0) 编辑