2025-11-20 06:38:20
dp输出就是动态规划计算过程中保存的中间结果。比如爬楼梯问题里,dp数组每个数字代表到某一步的走法总数。比如爬楼梯比如爬1阶有1种方法,爬2阶有2种方法,后面每阶都是前两阶方法数相加。这样就能避免重复计算,节省时间。
因为动态规划要解决最优子结构问题,所以得把每一步的结果存起来。比如爬到第5阶的时候,dp5等于dp4加dp3,而dp4又是dp3加dp2,算出来dp5等于5种方法。数据证明这种存法正确,比如dp1=1,dp2=2,dp3=3,dp4=5,dp5=8,都是前两数相加的结果。比如爬到第10阶的时候,dp10等于dp9加dp8,等于55种方法。所以dp输出就是每一步的积累结果,像搭积木一样把前面结果拼起来。
本题链接: