G. 积木画(dp + 滚动数组)
大致题意 : 给定2*N的画布, 以及两种积木, 问填满画布的方法有多少种
思路: 数据范围很大, 时间复杂度要求O(n), 可以想到用线性dp来解决
考虑状态转移方程:
状态表示: d[i][j]表示前i-1列都填满, 填满第i列时状态为j的种类数
按j分为以下三种
状态转移方程: 即看填满上一列的方法
第一种 : dp[i][0] = dp[i-1][0](由dp[i-1][0]加一个竖条转移过来)+ dp[i-1][2](由dp[i-1][2]什么都不加转移)
...
原创
2022-05-13 15:11:26 ·
325 阅读 ·
0 评论