博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安大校赛/异或运算一题。
阅读量:6946 次
发布时间:2019-06-27

本文共 727 字,大约阅读时间需要 2 分钟。

该题怒跪,原因:1,对异或运算还不太本质理解;2,异或优先级低于“!=”,“==”都不知道!!。

题意:给一个矩阵,c[i][j]=(a[i]^b[j]),矩阵给定,求a[i],b[j],(a[i]的字典序最小),无解则输出。

先了解下异或吧:

性质

1、交换律

2、结合律(即(a^b)^c == a^(b^c))

3、对于任何数x,都有x^x=0,x^0=x

4、自反性 A XOR B XOR B = A xor  0 = A。

异或本质是不进位的加法,各位不影响。而且1,0本质是一样的,(代号而已, 即将表达式全部的1换成0,全部的0换为1xor运算到结果不变)。

这题,令,a[0]=0,由c[][]求出所有a[],b[],判断,无解则必无解;

证明:假设 a[0]=11100001(随便一个非0的),若其有解,对应把各位全换成0,(其他对应变换),由1,0的等价性和各位独立性,知,a[0]=00000000也必有解,矛盾,故不成立!

其实,该题还可以用2-sat求解。

ps:切记!!异或优先级啊!

#include
#include
using namespace std;int a[1130][1130];int aa[1130];int bb[1130];int main(){ int t,i,j; cin>>t; while(t--) { int n,m; cin>>n>>m; for(i=0;i

转载于:https://www.cnblogs.com/yezekun/p/3925736.html

你可能感兴趣的文章
触发事件续
查看>>
python动态传参
查看>>
Spring中的Contexts
查看>>
奇葩说第三季被删减版下载,奇葩说被禁资源下载
查看>>
jQuery实现slideRightShow()方法
查看>>
反编译.o到.cpp
查看>>
[LeetCode]Remove Duplicates from Sorted Array
查看>>
qtp试用期30天已经过了就无法使用,解决办法
查看>>
困惑好久 删除配置文件中的一行 怎么办?
查看>>
winform文本框怎么实现html的placeholder效果
查看>>
认识CSS样式
查看>>
excel表格数据信息传递老出错,还有没有更好用数据处理工具?
查看>>
[转]SQLITE3 C语言接口 API 函数简介
查看>>
Delphi XE5中使用jar包
查看>>
org.apache.felix.framework-5.6.12源码解析——org.apache.felix.framework文件夹最后的部分...
查看>>
Python3的tcp socket接收不定长数据包接收到的数据不全。
查看>>
b2b
查看>>
第三周Java学习总结
查看>>
OGRE的安装和编译【转+改】
查看>>
获取管理员组用户
查看>>