div2的F题,只想到了一个复杂度略高的dp,T了几次,后来加了剪枝减掉一些无用的状态终于过了.. 题意: 一个n*m的矩阵 (n<=5,m<=20),对格子进行黑白染色,已经给出了每行每列黑色联通块的个数,要求输出一组答案,满足有解. 思路: 首先发现n只有5,考虑按列处理,每列总共有2^5=32种状态:又发现对于给出的联通块个数,最坏情况是当联通块个数等于1或者2的时候有15种情况 比直接二进制处理快了一倍.所以我们可以预先处理出联通块个数为0~3时对于的二进制状态: 找到了列的基本状态,…