分辣条

发布时间: 2016年6月26日 20:36   最后更新: 2016年6月26日 20:37   时间限制: 1000ms   内存限制: 128M

描述

“你喝的酸奶是我买的,辣条也是我买的,你现在要跟我分手,你把我当什么?”

“因为你每次分辣条的时候都比我多一根!”

可见分好辣条是一件多么重要的事情。。

现在有n(1<=n<=200)根辣条,每根辣条的重量为a1,a2...ai..an(1<=ai<=100)。

那么能不能把这些辣条分为重量相等的两份呢?

输入

输入有多组数据。
每组数据第一行为一个整数n(1<=n<=200),n代表辣条的数量。
第二行有n个整数,a1,a2...ai..an,其中ai(1<=ai<=100)代表第i根辣条的重量

输出

若能分成重量相等的两份,则输出"YES",否则输出"NO"每个答案占一行

样例输入1 复制

3
1 2 1
4
1 1 1 2
样例输出1

YES
NO 01背包解决恰好装满情况,利用容积与价值相等。
#include<stdio.h>
#include<string.h>
int main()
{
int n,sum,i,j;
int a[],f[];
while(~scanf("%d",&n)){
sum=;
for(i=;i<=n;i++){
scanf("%d",&a[i]);
sum+=a[i];
}
if(sum%==) printf("NO\n");
else{
sum/=;
memset(f,,sizeof(f));
for(i=;i<=n;i++){
for(j=sum;j>=;j--){
if(j-a[i]>=){
if(f[j-a[i]]+a[i]>f[j]) f[j]=f[j-a[i]]+a[i];
}
}
}
if(f[sum]==sum) printf("YES\n");
else printf("NO\n");
}
}
return ;
}

分辣条2

 

Description

啊啊有根很大的辣条,重量为n,啊啊想把辣条分给很多小朋友,但是必须满足下列条件:

1.每个小朋友分得的辣条重量为a,b或c;

2.分得辣条的小朋友的数量最多;

3.没有剩余的辣条,也就是说所有辣条都分完啦。

帮帮啊啊找出能分得辣条小朋友的数量。

Input

有多组数据,每组数据包含4个整数n,a,b,c(1<=n,a,b,c<=4000)

Output

每组数据输出能分得辣条的小朋友数量,每组输出占一行

Sample Input 1

5 5 3 2

Sample Output 1

2

Sample Input 2

7 5 5 2

Sample Output 2

2

Source

2015级计科纳新考试

#include<bits/stdc++.h>
#define MAX 5005
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll; int a[];
int dp[MAX]; int main()
{
int n,i,j;
while(~scanf("%d",&n)){
for(i=;i<=;i++){
scanf("%d",&a[i]);
}
memset(dp,-INF,sizeof(dp));
dp[]=;
for(i=;i<=;i++){
for(j=a[i];j<=n;j++){
dp[j]=max(dp[j],dp[j-a[i]]+);
}
}
printf("%d\n",dp[n]);
}
return ;
}

QDUOJ 分辣条-01背包恰好装满情况的更多相关文章

  1. 题解报告:hdu 1114 Piggy-Bank(完全背包恰好装满)

    Problem Description Before ACM can do anything, a budget must be prepared and the necessary financia ...

  2. HDU - 1114 Piggy-Bank 完全背包(背包恰好装满)

    Piggy-Bank Before ACM can do anything, a budget must be prepared and the necessary financial support ...

  3. HDU-1114 完全背包+恰好装满问题

    B - Piggy-Bank Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Subm ...

  4. 题解报告:NYOJ #311完全背包(恰好装满)

    描述: 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w.求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大.本题 ...

  5. ACM_01背包(恰好装满)

    背包2 Time Limit: 2000/1000ms (Java/Others) Problem Description: 有n个重量和价值分别为Wi,Vi的物品,现从这些物品中挑选出总量刚好为 W ...

  6. uva12563 Jin Ge Jin Qu hao(01背包)

    这是一道不错的题.首先通过分析,贪心法不可取,可以转化为01背包问题.但是这过程中还要注意,本题中的01背包问题要求背包必须装满!这就需要在普通的01背包问题上改动两处,一个是初始化的问题:把dp[0 ...

  7. POJ - 1948 二维01背包

    T了两发,DP方程很简单粗暴 dp[i][j][k]:用前i物品使得容量分别为j和k的背包恰好装满 背包的调用只需一次即可,第一次T就是每次check都丧心病狂地背包一次 对于sum的枚举,其实i j ...

  8. QAU 18校赛 J题 天平(01背包 判断能否装满)

    问题 J: 天平 时间限制: 1 Sec  内存限制: 128 MB提交: 36  解决: 9[提交][状态][讨论版][命题人:admin] 题目描述 天平的右端放着一件重量为w的物品.现在有n个重 ...

  9. UVA 562 Dividing coins 分硬币(01背包,简单变形)

    题意:一袋硬币两人分,要么公平分,要么不公平,如果能公平分,输出0,否则输出分成两半的最小差距. 思路:将提供的整袋钱的总价取一半来进行01背包,如果能分出出来,就是最佳分法.否则背包容量为一半总价的 ...

随机推荐

  1. .Net Core表单验证

    验证 attributes: Attributes Input Type [EmailAddress] type=”email” [Url] type=”url” [HiddenInput] type ...

  2. 【TensorFlow-windows】(零)TensorFlow的"安装"

    Tensorflow的安装,具体操作就不演示了.具体操作请移步: http://blog.csdn.net/darlingwood2013/article/details/60322258#comme ...

  3. NVIDIA GPU架构与原理分析(一)——GPU简介与主流Fermi、Kepler架构GPU概述

    1 GPU简介 图形处理单元GPU英文全称Graphic Processing Unit,GPU是相对于CPU的一个概念,NVIDIA公司在1999年发布GeForce256图形处理芯片时首先提出GP ...

  4. cURL实现Get和Post

    1.Get请求: //初始化 $ch = curl_init(); //设置选项,包括URL curl_setopt($ch, CURLOPT_URL, "http://www.jb51.n ...

  5. js比较3个数字的大小

    <script> var a = [1, 5, 2, 123, 34, 43, 7]; var i = j = t = 0; //sort方法, 推荐使用 a.sort(function( ...

  6. Js 模拟鼠标点击事件

    var obj = document.getElementById('go'); if(document.all){ obj.click(); }else{ var e = document.crea ...

  7. Java,获取文件的Base64字符串,解码Base64字符串还原文件

    在jdk1.8以前,获取文件Base64字符串需要用到第三方库,从1.8开始,Java中引入了Base64相关的类 以下是代码示例 获取文件的Base64编码字符串 import java.io.Fi ...

  8. javascript 正则表达式 详细入门教程

    1.什么是正则表达式 定义: 一个用来搜索.匹配.处理一些符合特定语法规则的一个强大的字符串处理工具. 用途: 进行特定字符和字符串的搜索 替换字符串中指定的字符或字符串 验证字符串是否符合需求 2. ...

  9. Python升级已经安装的第三方库

    Python升级已经安装的第三方库 主要两步操作,查看需要升级库,升级库.如下: pip list # 列出安装的库 pip list --outdated # 列出有更新的库 pip install ...

  10. NOIP2015_提高组Day2_3_运输计划

    这题思路很简单: 先对每个询问求距离,对距离由大到小排序, 二分最小距离,验证是否可行,验证时用差分处理: #include<iostream> #include<cstring&g ...