for i=1;in;i++位数 for j=ii+12;j=i;j--滚动数组从后到前更新j=i的部分 dpj = dpj-i+dpjMOD;表示当numa=i的时候n位数列+a的组合数目蓝桥杯波动数列这个是什么意思
这段代码是用动态规划解决蓝桥杯波动数列问题的核心部分。其中,i表示枚举的位数,j表示当前枚举到的数列中的数的和。dp[j]表示当前总和为j的数列中,有多少种方案可以使得数列中相邻两项的差值的绝对值不超过1。具体地,dp[j-i]表示当前数列总和为j-i时,最后一项为a的方案数,dp[j]表示当前数列总和为j时,最后一项为b的方案数,因此dp[j-i]+dp[j]表示当前总和为j的数列中,最后一项为a或b的方案数之和。最终,dp[n]表示总和为n的数列中,满足条件的方案数。
原文地址: http://www.cveoy.top/t/topic/5gK 著作权归作者所有。请勿转载和采集!