题目说实话看起来吓人,实则不难 不过仔细阅读两位前辈的题解后 发现两位前辈对循环边界部分处理不算太清楚 这里写一篇补全一下 首先状态设计:dp[i][j][k][sum] 代表当前是第i个数字,且第i位选择数字j, 选择数字j后形成的递减序列长度为k 前i个数字的和为sum 此时的方案数为dp[i][j][k][sum] 显然分析,k只有1和2两种情况 1的时候就是当前选的数字比上一个大(所以说是当前递减数列的第一个数字) 2的时候就是当前选的数字比上一个小(不可能出现比上两个小的情况,因为这样序列长度就是3不合题了) 那么状态转移方程也能写了 我们需要枚举一下上一个数字的值 依靠这个进行转移...