Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
提供一种新思路,可以AC,不知道是否正确看了网上的解题报告都是把一个钥匙拆为用和不用2个状态。 我的想法是如下: 按门来连边,比如样例1-6扇门分别为 A[i] B[i] 0 1 0 2 4 1 4 2 3 5 2 2 因为0 3 、1 2、4 5每2个只能取一个,所以对于门i,j (i,j小于当前的二分值) if(match[A[i]]==A[j]) add(A[i],B[j]),add(A[j],B[i]); if(match[A[i]]==B[j]) add(A[i],A[j]),add(B[j],B[i]); if(match[B[i]]==A[j]) add(B[i],B[j]),add(A[j],A[i]); if(match[B[i]]==B[j]) add(B[i],A[j]),add(B[j],A[i]); 其中match[i]表示和钥匙i矛盾的钥匙 二分答案,建图,判断矛盾的钥匙对里是否有属于同一个连通分量的。 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator