CF2043E 题解
__vector__ · · 题解
题意
给定大小为
单次操作可以有以下两种形式:
-
选择两个数
i,x ,满足1 \le i \le n,x \ge 0 。对于
1 \le \forall j \le m ,将A_{i,j} 替换为A_{i,j} 按位与x ,即整行按位与。 -
选择两个数
j,x ,满足1 \le j \le m,x\ge 0 。对于
1 \le \forall i \le n ,将A_{i,j} 替换为A_{i,j} 按位或x ,即整列按位或。
问能否在任意次操作之后将
做法
每一位都是独立的,考虑枚举每一位。
问题简化为了,两个
考虑对于
不难注意到,每一行,每一列最多执行一次操作。
如果对第
同理,如果对第
由此可以建立一个有向图,
从每个必须执行的操作出发 dfs,如果找到环,那么必然无解。
如果最终没有找到环,显然是有解的。