finalists专题

CROC 2016 - Final Round [Private, For Onsite Finalists Only] C. Binary Table(FWT)

题目链接:http://codeforces.com/contest/662/problem/C 首先将矩阵按列压成二进制,G[i]表示某一列为状态i时最小的1的数目,cnt[i]表示状态i时1的个数,按行枚举翻转状态j,则在状态i下,1的最小的数目为sigma(cnt[i]*G[i^j]),因为i^(i^j)=j,所以可以看作一个异或卷积的形式,采用fwt进行加速即可。 代码: