Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

提供一种新思路,可以AC,不知道是否正确

Posted by dingjian0312 at 2011-11-29 19:14:49 on Problem 2723
看了网上的解题报告都是把一个钥匙拆为用和不用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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator