摘要: 输入: n=4 m=3 M=10000 输出: 4 (1+1+2=1+3=2+2=4) 复杂度(nm) 1 int n,m; 2 int a[MAX]; 3 4 int dp[MAX][MAX]; //数组 5 6 void solve() 7 { 8 dp[0][0]=1; 9 for(int i 阅读全文
posted @ 2016-03-03 21:06 Vmetrio 阅读(279) 评论(0) 推荐(0)
摘要: 输入: n=3 m=3 a={1,2,3} M=10000 输出: 6 (0+0+3,0+1+2,0+2+1,1+0+2,1+1+1,1+2+0) 为了不重复计数,同一种类的物品最好一次性处理好.于是我们按照如下方式进行定义. dp[i+1][j]=从前i种物品中取出j个的组合总数 复杂度:O(nm 阅读全文
posted @ 2016-03-03 21:02 Vmetrio 阅读(747) 评论(0) 推荐(1)