POJ 2411 Mondriaan's Dream 解题报告【动态规划】

POJ 2411 Mondriaan's Dream 解题报告【动态规划】

地址:http://acm.pku.edu.cn/JudgeOnline/problem?id=2411

题意:输入wh,用1*2的砖做覆盖,问有多少种方法可将w*h的平面完全覆盖。

思路:

如果用深搜,需要全搜才能数出来,按照输入的数量级,可能会有上亿的结果,所以全搜不行。

节省时间的方法想到了DP,不过状态转移方程还是不好找。

按照推到某个位置有多少种方法,还是找不到它的子结构。如果按照位置的方位找,无法排除各个结构间的相互影响,不是独立的子结构。

核心问题是如何找到独立状态,水平不够,百般无奈之下还是找到了网上的解题报告,看了两句话便恍然大悟。每行可能的放置方法数不大<=2^11,如果用每行的一个固定状态的值去推下行的固定状态的值,问题便迎刃而解,每行2000左右固定状态,总共11行,数据量可以接受,表示固定状态的方法和推导过程有一定编程能力的人想必都能想到。具体见代码以及注释。

posted on 2010-03-05 10:27  liugoodness  阅读(160)  评论(0)    收藏  举报

导航