题目:CF474D Flowers
DP?递推?
首先可以很快看出这是一道 DP 的题目,但与其说是 DP,还不如说是递推。
大家还记得刚学递推时教练肯定讲过的一道经典例题吗?就是爬楼梯,一个有 n n n 阶的楼梯,一个人爬上去,每次可以爬一阶也可以爬两阶,问有多少种爬法?其实这道题也是一样的,只不过把 2 2 2 换成了 k k k 而已。
于是我们开始分析,定义 d p [ i ] dp[i] dp[i] 为吃 i i i 个蛋糕的吃法总数。
很容易看出,如果 i < k i<k i<k,就不可以一口气吃掉,只能一个一个吃,方法为 1 1 1 种。
如果 i = = k i==k i==k,就既可以一个一个吃掉,也可以一口气全部吃完,方法为 2 2 2 种。
如果 i > k i>k i>k,就有两种吃法,既可以先吃 i − 1 i-1 i−1 个,然后再吃一个,也可以先吃 i − k i-k i−k 个,再吃 k k k 个。方法为 d p [