hdu 4685 Prince and Princess

来源:互联网 发布:php资源网源码 编辑:程序博客网 时间:2024/04/30 16:02

2013年长沙区域赛网赛I题 当时看到题就发现这题和hdu4685是一模一样的,但是很遗憾在比赛的时候居然没能过。深深的自责。写错一句代码

题意:20000个点的二分图,冗余边的定义就是如果这条边进入匹配之后,总匹配数无论如何怎么选择都无法达到最大匹配。

解法:先求出一次二分匹配,先考虑王子和公主都进入完美匹配的情况,那么对于任意一个王子,对公主建图,从他匹配到的公主连一条边到他剩余喜欢的公主,含义就是如果这王子不选择之后公主之后还能考虑的其他公主,如果如果这条边不是冗余边,意味着两个公主在一个强连通分量内。

现在的情况就是有一些公主没有进入匹配,这样考虑,还是利用上面的是不是在一个强连通分量来判断是不是冗余边,这样子的话就是这个没有匹配的公主连到任意另外一个公主一条边,意味着别人王子匹配到这个公主也可以达到最大匹配。

如果一个王子没有进入匹配中,可以保证他喜欢的所有公主都是在匹配中,任意一个他喜欢的公主被别人抛弃之后他都可以进入匹配,连边的话就是从任意其他点连到他喜欢的公主身上,意义就是如果原先匹配这个公主的王子离开后,这个王子就会进入,并且形成回路。

这样建图就ok了。还有一点要考虑的就是20000个点的最大匹配,hk和网络流就任君选择了。

原创粉丝点击