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

这道题目非常好,能很好的加深对二分图的理解

Posted by llzhh at 2017-08-04 09:42:25 on Problem 3057
一开始我按照自己思路,先跑一遍bfs,得到每个人到门的距离,然后每分钟都建立一次二分图,跑一遍二分图,用总人数减去跑出来得到的结果,直到0才停止。
但是,这样的做法是错误的。我自己拿了网上别人AC的代码然后自己造数据发现,下面这一组数据我跑出来的有问题
6 6
XDXXXX
D....D
X.X..X
X.XX.X
X...XX
XXXDXX
答案应该是4但是我的却是5,原因在于在第二秒的时候第二行第三个点被第二行最右边的D匹配掉了,后面无法更正这个结果,导致了第二行右边的D接管了靠近他的五个点。
所以正确的做法依然是,一个门在每个时间点都建立,然后左边是人,右边是门来跑二分图,这样他才会更正上面不是最优的结果。

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