矩阵游戏

本文探讨了矩阵游戏中行和列交换对最大匹配数的影响。通过引理一证明行交换不改变最大匹配数,引理二说明最大匹配数等于n时能实现目标匹配。结论是,如果初始最大匹配数不为n,则无法通过交换达到目标状态;若为n,则一定能通过交换达成目标图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

我太菜了。。不得不看 TJ ,由于自己的 SB 誓言,我又来写 TJ 了。

蓝题我都要看 TJ, 我好菜啊,提前 AFO 吧

题解

题面

我们可以研究一个样例

.in

1
3
1 0 0
0 1 1
1 0 0

.out

No

我们做出这个操作,当 a [ i ] [ j ] = 1 a[i][j] = 1 a[i][j]=1 时,在二元组边集 E E E 中加入一个元素 ( i , j ) (i, j) (i,j),如图。

:左边的表示行,右边的表示列。

若交换行

引理一:行的交换不会改变最大匹配数

若我们此时将行1和2的编号交换,我们会发现图又变成了原图,所以我们可以把行的交换理解成行编号的交换,所以不会改变最大匹配数。

引理二:当最大匹配数等于 n n n 时,即匹配成功

而目标图像要求行 i i i和列 i i i匹配,而我们可以利用交换编号使其成为任意一个只要求点与点一一匹配的图像。

所以:

由引理一,我们的最大匹配数固定。再由引理二可知:

若初始图的最大匹配数不为 n n n,则无论怎么交换都不会变换成目标图像。

若初始图的最大匹配数为 n n n,则一定能变成目标图像。

若交换列

同理,根据图分析易得和交换行一样的结论

参考代码

#include <map>
#include <set>
#include <cmath>
#include <stack>
#include <queue>
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值