QDUOJ 分辣条-01背包恰好装满情况
分辣条
发布时间: 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"每个答案占一行
3
1 2 1
4
1 1 1 2
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背包恰好装满情况的更多相关文章
- 题解报告:hdu 1114 Piggy-Bank(完全背包恰好装满)
Problem Description Before ACM can do anything, a budget must be prepared and the necessary financia ...
- HDU - 1114 Piggy-Bank 完全背包(背包恰好装满)
Piggy-Bank Before ACM can do anything, a budget must be prepared and the necessary financial support ...
- HDU-1114 完全背包+恰好装满问题
B - Piggy-Bank Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Subm ...
- 题解报告:NYOJ #311完全背包(恰好装满)
描述: 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w.求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大.本题 ...
- ACM_01背包(恰好装满)
背包2 Time Limit: 2000/1000ms (Java/Others) Problem Description: 有n个重量和价值分别为Wi,Vi的物品,现从这些物品中挑选出总量刚好为 W ...
- uva12563 Jin Ge Jin Qu hao(01背包)
这是一道不错的题.首先通过分析,贪心法不可取,可以转化为01背包问题.但是这过程中还要注意,本题中的01背包问题要求背包必须装满!这就需要在普通的01背包问题上改动两处,一个是初始化的问题:把dp[0 ...
- POJ - 1948 二维01背包
T了两发,DP方程很简单粗暴 dp[i][j][k]:用前i物品使得容量分别为j和k的背包恰好装满 背包的调用只需一次即可,第一次T就是每次check都丧心病狂地背包一次 对于sum的枚举,其实i j ...
- QAU 18校赛 J题 天平(01背包 判断能否装满)
问题 J: 天平 时间限制: 1 Sec 内存限制: 128 MB提交: 36 解决: 9[提交][状态][讨论版][命题人:admin] 题目描述 天平的右端放着一件重量为w的物品.现在有n个重 ...
- UVA 562 Dividing coins 分硬币(01背包,简单变形)
题意:一袋硬币两人分,要么公平分,要么不公平,如果能公平分,输出0,否则输出分成两半的最小差距. 思路:将提供的整袋钱的总价取一半来进行01背包,如果能分出出来,就是最佳分法.否则背包容量为一半总价的 ...
随机推荐
- vue-导入静态文件
vue导入静态文件不用像网上说的那么麻烦,其实跟普通Django项目导入类似,vue项目中有一个static文件,将你的静态文件放入到里面,然后引入就好 导入的时候和普通Django程序类似:↓ &l ...
- 用算法求N(N>=3)之内素数的个数
首先.我们谈一下素数的定义.什么是素数?除了1和它本身外,不能被其它自然数整除(除0以外)的数 称之为素数(质数):否则称为合数. 依据素数的定义,在解决问题上,一開始我想到的方法是从3到N之间每一个 ...
- 移动端,多屏幕尺寸高清屏retina屏适配的解决方案
移动端高清.多屏适配方案 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页 ...
- PHP部分--file图片上传服务器、图片路径存入数据库,并读取
前端代码 <form action="shangchuan.php" method="post" enctype="multipart/form ...
- 版本控制器 git
摘要:版本控制器是码农必备的工具,很多常用的,像svn,git,cvs等,工作中用过svn,Tortoisehg,firefly,其实大同小异,现在简单介绍下git,以及它的一些常用命令. 在wind ...
- Unity3d 新建xml 读取xml
在游戏开发中.Xml常常被用来作为技能配置.地图配置.人物动作配置等配置文件. Unity3d内置的Xml库让我们非常方便地就能够新建Xml和读取Xml. 以下是一个样例,新建了一个Xml文档.而且读 ...
- ASP.NET MVC4中ViewBag、ViewData和TempData的使用和区别
一.说明 本文章主要是讲解asp.net mvc中ViewBag.ViewData和TempData的使用和区别,ViewBag.ViewData和TempData常常用于将action方法中的数据传 ...
- [IR课程笔记]统计语言模型
Basic idea 1.一个文档(document)只有一个主题(topic) 2.主题指的是这个主题下文档中词语是如何出现的 3.在某一主题下文档中经常出现的词语,这个词语在这个主题中也是经常出现 ...
- SVN版本控制中.a无法提交问题
1.首先xcode是默认忽略.a文件的.改变方法如下: 1⃣️. 打开终端, 在命令行中输入: vi ~/.subversion/config 来打开配置文件.2⃣️. 然后, 在[miscell ...
- Mac查看端口
lsof -i tcp:port eg: lsof -i tcp:8899