FJUT寒假作业第二周C题解(位运算)

时间:2021-12-25 16:28:38

题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P2

FJUT寒假作业第二周C题解(位运算)

FJUT寒假作业第二周C题解(位运算)FJUT寒假作业第二周C题解(位运算)

题意比较好理解。如果直接按题目要求一步一解。一定超时。作为一个懒人也不会这么暴力一个肯定超时的方法。就需要优化,结合位运算特点。

首先要理解:比如案例一,第一行和第三行的第一个数字都是1,就直接决定A*B=1,即A,B有关系。

然后有个小技巧:来自集训队群文件某PPT

FJUT寒假作业第二周C题解(位运算)

 

 

 比如1000001当做二进制,转为十进制储存。方便处理。如图i为行,处理每行二进制存到数组VIS[]。那么A*B==1相当于A&B==1

 FJUT寒假作业第二周C题解(位运算)

最后根据组合原理不重复的遍历所有三条边的组合。

FJUT寒假作业第二周C题解(位运算)