稳定婚姻问题

  有 n 位男士和n位女士,每位男士按照喜爱程度给所有女士排名,每位女士也按照喜爱程度给所有男士排名。现在要给这 2n 个人安排婚姻,满足两个要求:

   1.每个人都有配偶且没有两名同性的配偶相同

   2.不存在一队男女,满足这两个人对对方的喜爱程度都比对配偶的喜爱程度高。

  有个结论:必定存在满足要求的安排。

  先说说做法:枚举每个没有配偶的男士,让他向没求婚过的排名最前的女士求婚。如果这个女士对他的喜爱程度比对当前配偶的喜爱程度高,那么就选择当前这个男士,否则拒绝。

  现在要证明两个结论:

   1.每个男士都会找到配偶。假设有一名男士没有找到配偶,因为一名女士找到配偶后不会失去配偶而且这名男士已经向所有女士求婚了且都被拒绝了,所以每名女士都找到了配偶。所以每名男士都会有配偶。矛盾。

   2.不会有私奔的情况。假设男士A对女士1的喜爱程度比对他的配偶的喜爱程度高,那么男士A会先向女士1求婚,被拒绝后才会向当前的配偶求婚。所以女士1的对当前配偶的喜爱程度一定比对男士A的喜爱程度高。所以不会有私奔的情况

  时间复杂度是 O(n2) ,因为每个男士都要向每个女士求婚。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值