AcWing 278 数字组合 题解 (动态规划—DP—背包问题)

AcWing 278 数字组合 题解 (动态规划—DP—背包问题)

#include<bits/stdc++.h>

using namespace std;

const int N = 10010;

int n, m;
int f[N];

int main()
{
	cin>>n>>m;
	f[0] = 1;//空集也是一种方案 
	while(n -- ){
		int v;
		cin>>v;
		for(int i = m; i >= v; i -- ){
			f[i] += f[i - v];
		}
	}
	cout<<f[m]<<endl;
	return 0;
}
上一篇:Atcoder Beginner Contest 236 ABC 代码风格 格式#ifdef#else#endif ios::sync_with_stdio tie 异或 map容器 vector容器


下一篇:方法-二论