POJ 2411 Mondriaan's Dream 状态压缩DP

第一次看状态压缩DP啊。

题目大意是给出一个 h*w 的空棋盘,1<=h,w<=11,若用1*2或2*1的骨牌去完全覆盖这个棋盘,问有多少种方法

题目的数据规模很小,棋盘的每个格子有覆盖和未覆盖两种,正好对应二进制中的 1 和 0 。所以可以用一个二进制数表示一行棋盘的状态,这称之为状态压缩,然后对其进行相应的位运算,表示相应的操作。

然后参考了http://www.cppblog.com/sdfond/archive/2011/03/17/91761.html

你可能感兴趣的:(POJ 2411 Mondriaan's Dream 状态压缩DP)