hdu 4685 Prince and Princess

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

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

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

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值