codeforces 1016D. Vasya And The Matrix

链接
这里写图片描述

提议很简单,就是一个矩阵,你知道每行,每列异或后的结果,然后还原这个矩阵,如果不能还原输出NO。

很显然这是一个构造,比赛时没有想出来,真是有点傻。。但是看了好多博客发现大家都是简单的写个结论,什么全补0,只保留最后一行,一列。几乎没有解释为什么这样的。我把自己的理解写出吧。
这里写图片描述
对于这个矩阵:
a1 = x1x2x3,a2 = x4x5x6;
b1 = x1^x4,b2 = x2^x5,b3 = x3^x6;
所以a1^a2 = x1x2x3x4x5^x6;
b1b2b3 = x1x2x3x4x5^x6;
所以行列异或值是否相等,或者二者再异或结果为0,就是判断是否有解的条件来。
对于有解的情况我们仍要构造出一种矩阵,我们可以只考虑最后一行,一列空的做法。也可以逐位枚举来计算。
我们如果把前面都填上一样的数,这样最后一列数也可以确定下来,因为0异或任何数结果还是那个数,所以我们一般是填0,
这样的话,这个矩阵就是如下
这里写图片描述
这样空白的那个空就是b1b2a2求得,或者是a1^b3求得。这样填一定符合吗?我们首先来

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值