DP之背包问题详解及案例
0-1背包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define MAX 10000 using namespace std; int val[MAX];
int w[MAX];
int dp[MAX]; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(dp,,sizeof(dp));
int n,W;
scanf("%d%d",&n,&W); for(int i=;i<n;i++)
scanf("%d",&val[i]); for(int i=;i<n;i++)
scanf("%d",&w[i]); for(int i=;i<n;i++)
{
for(int j=W;j>=w[i];j--)
if(dp[j-w[i]]+val[i]>dp[j])
dp[j]=dp[j-w[i]]+val[i];
} printf("%d\n",dp[W]);
}
return ;
}
完全背包:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define MAX 10000
#define INF 0x3f3f3f3f using namespace std; int dp[MAX];
int val[MAX];
int w[MAX]; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(dp,INF,sizeof(dp));
int W,m,k;
scanf("%d%d",&m,&k);
W=k-m; int n;
scanf("%d",&n); for(int i=;i<n;i++)
scanf("%d%d",&val[i],&w[i]); dp[]=;
for(int i=;i<n;i++)
{
for(int j=w[i];j<=W;j++)
{
dp[j]=min(dp[j],dp[j-w[i]]+val[i]);
}
}
if(dp[W]==INF)
printf("This is impossible.\n");
else
printf("The minimum amount of money in the piggy-bank is %d.\n",dp[W]); }
return ;
}
多重背包:http://acm.hdu.edu.cn/showproblem.php?pid=2191
///
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define MAX 1000 using namespace std; int dp[MAX];
int val[MAX];
int w[MAX];
int num[MAX]; int main()
{
int t;
scanf("%d",&t); while(t--)
{
memset(dp,,sizeof(dp)); int W,n;
scanf("%d%d",&W,&n); for(int i=;i<n;i++)
scanf("%d%d%d",&w[i],&val[i],&num[i]); for(int i=;i<n;i++)
{
for(int j=;j<num[i];j++)
{
for(int k=W;k>=w[i];k--)
dp[k]=max(dp[k],dp[k-w[i]]+val[i]);
}
} printf("%d\n",dp[W]); } return ;
}
DP之背包问题详解及案例的更多相关文章
- (转)dp动态规划分类详解
dp动态规划分类详解 转自:http://blog.csdn.NET/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间 ...
- Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔细想一 ...
- SQL Server 表的管理_关于事务的处理的详解(案例代码)
SQL Server 表的管理_关于事务的处理的详解(案例代码) 一.SQL 事务 1.1SQL 事务 ●事务是在数据库上按照一定的逻辑顺序执行的任务序列,既可以由用户手动执行,也可以由某种数据库程序 ...
- SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML 1.SQL INSERT INTO 语句(在表中插入) INSERT INTO 语句用于向表中插入新记录. SQL I ...
- SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE tabl ...
- SQL Server 表的管理_关于事务操作的详解(案例代码)
SQL Server 表的管理_关于事务操作的详解(案例代码) 1.概念 事务(transaction): 是将多个修改语句组合在一起的方法,这个方法中的所有语句只有全部执行才能正确完成功能.即要么全 ...
- css过渡和2d详解及案例
css过渡和2d详解及案例(案例在下方,不要着急) 本文重点: 1.在2D变化使用过程中,有些需求需要两种或两种以上的变化同时使用, 值得注意的是尽量把位移变化放在最前面,把其他变化放在最后面,属性值 ...
- Zookeeper从入门到精通(开发详解,案例实战,Web界面监控)
ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookee ...
- Vue基础语法-数据绑定、事件处理和扩展组件等知识详解(案例分析,简单易懂,附源码)
前言: 本篇文章主要讲解了Vue实例对象的创建.常用内置指令的使用.自定义组件的创建.生命周期(钩子函数)等.以及个人的心得体会,汇集成本篇文章,作为自己对Vue基础知识入门级的总结与笔记. 其中介绍 ...
随机推荐
- 通过zookeeper连接hive beeline
beeline -u 'jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperName ...
- 匿名类与lambda区别
第一种是继承Thread, 重写了Thread.run() getClass()返回的是匿名类 java.long.Thread$1 第二种是lambda, 重写了Runnable.run() ...
- poj 1001 字符串乘法以及处理精度问题
#include<iostream> #include<cstring> using namespace std; int main() { string r; int n,d ...
- SQL SERVER LEFT JOIN, INNER JOIN, RIGHT JOIN
JOIN: 如果表中有至少一个匹配,则返回行 LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行 FULL JOIN: 只 ...
- Webstrom 中写Vue没有代码提示如何解决?
1. 如果你的Webstorm是2017版的,请更新到最新的2018,2018版本的webstorm自带了vue插件 找到 Help > About,查看你的Webstorm版本 2. 如果你的 ...
- LeetCode 981.基于时间的键值存储(C++)
创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作: 1. set(string key, string value, int timestamp) 存储键 key.值 value,以及 ...
- #define\const\inline的区别与联系
总结: const用于代替#define一个固定的值,inline用于代替#define一个函数.是#define的升级版,为了消除#define的缺陷. 参考内容:http://www.cnblog ...
- pat1094. The Largest Generation (25)
1094. The Largest Generation (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...
- 新浪微博OAuth2授权错误 error:redirect_uri_mismatch
最近想在app进行新浪微博认证,结果发现总是报error:redirect_uri_mismatch错误. 网上搜了解决方法. 进入 http://open.weibo.com/apps/app_ke ...
- 【Ionic】---$ionicLoading ion-spinner SVG旋转加载的动画图标
ionic 加载动作 $ionicLoading $ionicLoading 是 ionic 默认的一个加载交互效果.里面的内容也是可以在模板里面修改. 用法 angular.module('Load ...