一:部分和问题 给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。 输入: n=4 a={1,2,4,7} k=13 输出: Yes(13=2+4+7) 书中带来是DFS搜索,相对比较简单 代码: #include<bits/stdc++.h> using na ...
分类:
其他好文 时间:
2020-05-29 23:28:36
阅读次数:
67
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 8 const int max_n = 100 + 2; 9 const int max_a = 1e5 + 10; ...
分类:
其他好文 时间:
2020-02-04 15:56:47
阅读次数:
62
题意:有n种不同大小的数字ai 每种各mi个 判断是否可以从这些数字之中选出若干个使它们的和恰好为K 朴素做法 为三次方 有一种 nK的做法: dp[i][j]表示 前i个数 凑到j最多剩下多少个mi dp[i][j] 1.如果dp[i][j]>=0 那么肯定为mi 2.如果 j<ai or dp[ ...
分类:
其他好文 时间:
2019-05-23 18:25:40
阅读次数:
151
题目大意:tony现在有n种硬币,第i种硬币的面值为A[i],数量为C[i]。现在tony要使用这些硬币去买一块价格不超过m的表。他希望买的时候不用找零,问有多少种价格能满足这一点。 这个问题实际上是一个多重部分和的问题:假设有n种物品,每种物品的价值为v[i],数量为c[i],随意选取这些物品,能... ...
分类:
其他好文 时间:
2018-07-13 20:45:44
阅读次数:
158
题意 : 有 n 种面额的硬币,给出各种面额硬币的数量和和面额数,求最多能搭配出几种不超过 m 的金额? 分析 : 这题可用多重背包来解,但这里不讨论这种做法。 如果之前有接触过背包DP的可以自然想到DP数组的定义 ==> dp[i][j] 表示使用前 i 种硬币是否可以凑成面额 j 。 根据这样的 ...
分类:
其他好文 时间:
2017-12-17 22:23:42
阅读次数:
138
多重部分和问题 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 有n种不同大小的数字a, 每种各m个. 推断能否够从这些数字之中选出若干使它们的和恰好为K.使用动态规划求解(DP), 方法1: dp[i+1][j] = 用前n种数字能否加和成j, ...
分类:
编程语言 时间:
2017-05-10 09:37:28
阅读次数:
335
Coins Time Limit: 3000MS Memory Limit: 30000K Total Submissions: 32776 Accepted: 11131 Description People in Silverland use coins.They have coins of v
分类:
其他好文 时间:
2016-02-12 11:41:15
阅读次数:
153
今天放两道动态规划的题,本人心得是:认真寻找规律第一题多重部分和问题 有n种不同大小数字ai,每种个mi个。判断是否可以从这些数字之中选出若干使它们的和恰好为k。(1≤n≤100,1≤ai,mi≤100000,1≤k≤100000)样例输入 3 n 3 5 8 ...
分类:
其他好文 时间:
2015-08-09 16:53:47
阅读次数:
322
1210: F.多重部分和问题时间限制: 1 Sec内存限制: 64 MB提交: 18解决: 14题目描述有n种不同大小的数字,每种各个。判断是否可以从这些数字之中选出若干使它们的和恰好为K。输入首先是一个正整数T(1 2 #include 3 #include 4 #include 5 #i...
分类:
其他好文 时间:
2015-08-02 11:39:23
阅读次数:
142
#include#includeusing namespace std;const int SIZE=120000+16;int a[6];int dp[SIZE];bool check(){ for(int i=0;i=0) { ...
分类:
其他好文 时间:
2015-08-01 20:26:51
阅读次数:
207