和为K的组合(01背包)
给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:“Yes”,否则输出"No"。
Input
第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9)
第2 - N + 1行:每行1个数,对应数组的元素Aii (1 <= Aii <= 10^6)
Output
如果可以,输出:“Yes”,否则输出"No"。
Sample Input
5 13
2
4
6
8
10
Sample Output
No
以前也做过这种和为k的题目,以前记得用二分做的。然后这次也尝试用二分做,但是这一次不是确定的几个数字相加。这样二分就做不了了。然后想了想,这不就是一个简单的01背包嘛。k为背包容量,给出的数字是体积。就是看看最后可不可以吧背包填满就好了啊。模板题。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;const int maxx=1e7+10;
ll a[100];
ll dp[maxx];
ll n,k;int main()
{while(scanf("%lld%lld",&n,&k)!=EOF){for(int i=0;i<n;i++){scanf("%lld",&a[i]);}memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){for(int j=k;j>=a[i];j--){dp[j]=max(dp[j],dp[j-a[i]]+a[i]);}}if(dp[k]==k) cout<<"Yes"<<endl;else cout<<"No"<<endl;}
}
努力加油a啊,(o)/~
和为K的组合(01背包)相关推荐
- [01背包] 数字组合(01背包+求方案数)
文章目录 0. 前言 1. 01背包求方案数 0. 前言 相关: [背包] 背包问题算法模板(模板) 1. 01背包求方案数 278. 数字组合 将 M 看作背包容量,每个数看成一个物品,Ai 看成是 ...
- 【51Nod - 1268】和为K的组合 (背包 或 dfs)
题干: 给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K.如果可以,输出:"Yes",否则输出"No". Input 第1行:2个数N, K, ...
- 【01背包的k值问题 HDU2639 HDU2126】
HDU2639 有深度吧感觉还 题意:给出一行价值,一行体积,让你在v体积的范围内找出第k大的值 终结第k大的01背包, 复杂度: O(NMK) 注意选取的标准,选取后,要保证得到的价值是大于未选之前 ...
- HDU 2639(01背包求第K大值)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2639 Bone Collector II Time Limit: 5000/2000 MS (Jav ...
- 计蒜客 7.22 K. Mario Kart(01背包+最短路)
题意:在一个一维的坐标轴上,给定n个点的位置,还给定m种硬币,每个硬币都有一个C和V,C代表这种硬币的花费,V代表这种硬币可以传送的距离.题目还给定一个L,如果两个点之间的最小花费超过L那么两个点之间 ...
- HDU2639 01背包 第K优决策
初学背包.以下内容,来源网络,整理以作学习资料. 求第K优解 对于求次优解.第K优解类的问题,如果相应的最优解问题能写出状态转移方程.用动态规划解决,那么求次优解往往可以相同的复杂度解决,第K优解则比 ...
- HDU 2639 Bone Collector II(01背包-第K优决策)
Description 给出n件物品的价值和体积,问在总体积不超过v时的第k大价值 Input 第一行为用例组数T,每组用例第一行为三个整数n,v和k,第二行n个整数表示这n件物品的价值,第三行n个整 ...
- hdu1171 转化01背包,组合
题意就是给你一些有价值的物品,你要把它分成尽量相同的两份. #include <iostream> #include <cstring> #include <algori ...
- 背包问题教程-01背包,完全背包,多重背包,混合背包 收藏
P01: 01背包问题 题目 有N件物品和一个容量为V的背包.第i件物品的费用是c[i],价值是w[i].求解将哪些物品装入背包可使价值总和最大. 基本思路 这是最基础的背包问题,特点是:每种物品仅有 ...
最新文章
- sublime text实现函数跳转(window环境)
- imageloader 的 java.security.cert.CertPathValidatorException
- kindle可以设置24小时吗_华为怎么设置时间24小时
- Spring源码之bean的初始化initializeBean方法解读
- August 2007
- 虚拟服务器 重置密码,vmware Esxi 5.0 忘记密码重置的方法
- 笔记本系统转移到固态硬盘
- Apollo星火计划学习笔记——第六讲上自动驾驶感知基础(I)
- 专家访谈:Flex技术对web开发的影响
- 风车网陈晓峰回忆录:我的两个月倒闭史
- excel如何设置下拉选项,只允许选择固定的内容
- 国内外数字源表品牌对比
- python 曲线拟合(numpy.polyfit、scipy.optimize.curve_fit)
- 计算机单元格数值不保留小数,EXCEL单元格数值实现真正保留2位小数的方法
- 未来侠机器人教育:不能脱离教育的本质去谈机器人教育培训
- 段鹏飞java_面向对象与多线程综合实验-网络编程
- 关于微信小程序VM22:2 (in promise) MiniProgramError {“errMsg“:“hideLoading:fail:toast can‘t be found“
- github 链接域名
- dbms支持哪几种数据模型_DBMS数据库模型
- MyBatis案例一:员工管理系统
热门文章
- android 输入模糊匹配_Android 模糊搜索rawquery bind or column index out of range:
- 程序员基本功10栈和队列
- 虚拟机ubuntu安装ssh服务器,经过Xshell远程链接虚拟机VMVARE中的Ubuntu
- python新手入门英文词汇笔记(1-1)_Python新手入门英文词汇(1-1)
- php正则表达式应用,PHP 正则表达式应用
- 如何解决移动端键盘弹起将底部导航栏顶起
- python布尔类型运算_9.python的布尔类型与流程控制
- linux中传输文件方法,Linux快速传输文件几种方法
- java 正则出特殊字符_java正则_特殊字符处理
- PyCharm入门教程——在编辑器中选择文本