总结:
1.这道题状态设计类比与斐波那契数列
2.状态方程要学会变化
//求背包方案的题型
#include<bits/stdc++.h> using namespace std; long long dp[10005], n, v, a[30]; int main() { cin >> v >> n; for(int i = 1; i <= v; i++) cin >> a[i]; dp[0] = 1; for(int i = 1; i <= v; i++) for(int j = a[i]; j <= n; j++) dp[j] += dp[j-a[i]]; cout << dp[n]; return 0; }