题目大意:
给出
k
个
n?m
的
01
矩阵
Si
,求出一个
1
尽量少的
n?m
的
01
矩阵
P
,满足
k
个矩阵与该矩阵的交互不相同,也就是说通过该矩阵能表示出给出的
k
个矩阵。
分析:
这题有几个状压
DP
的思路,这里讲一个吧。
假设我们将
Si
与
P
的交定义为
Qi
,其编号为
Ti
,那么初始的时候交都为空,即
T1=T2=...=Tk=0,Q1=Q2=...=Qk=?
。
枚举
P
当前的格子
(x,y)
,假设有
Si,x,y=Sj,x,y=1
,且
Qi=Qj
,那么当前格子放
1
的话,新的
Qi
依旧等于
Qj
,反之不等于。所以可以用最小表示搞出该格子放
1
后的
T
。然而
T
就是整个状压
DP
的状态。当
max{Ti}=k?1
的时候,证明所有的
Ti
均不相同,也就是所有的
Qi
均不相同,此时的
P
即为所求。
AC code:
#include
#include
#include