pku3254 Corn Fields

来源:互联网 发布:linux telnet 编辑:程序博客网 时间:2024/04/29 23:30

题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3254

题意简述:FJ选定土地饲养corn,不肥沃的土地不能选,不能选相邻的两块土地,求FJ可选的总方案数(包括不选)。

解题思路:状态压缩dp。先把所有可能的状态枚举出来,然后枚举当前层的状态和上一层的状态进行动态规划。设dp[i][j]表示第i行的状态为j时的方案总数。则可以把状态转移方程写成这样:dp[i][j]=sum(dp[i-1][k]); k是需要枚举并进行判断的。

那么最终答案就是:sum(dp[m][j]); j也就是满足第m行的所有状态。如此,此题解决。

代码: