http://poj.org/problem?id=3624

背包中最基础的01背包,大意是有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大

主要是要有动态规划的思想,列出每个容量下的最大值,每次只考虑取或不取两种情况《一个状态一个状态的转移

 #include<iostream>
#include<cstring>
using namespace std;
int dp[];
int w[],d[];
int main()
{
int n,m,i,j;
while (cin>>n>>m)
{
for (i=;i<=n;i++)
cin>>w[i]>>d[i];
memset(dp,,sizeof(dp));
for (i=;i<=n;i++)
{
for (j=m;j>=w[i];j--)
dp[j]=max(dp[j],dp[j-w[i]]+d[i]);
}
cout<<dp[m]<<endl;
}
return ;
}

http://acm.hdu.edu.cn/showproblem.php?pid=2955

有小数不好处理,所以逆向考虑,把抢银行的价值作为容量来转移

 #include<cstdio>
#include<cstring>
using namespace std;
int a[];
double b[],dp[];
double max(double x,double y)
{
if (x>y) return x;
else return y;
}
int main()
{
int t,m,i,j;
double n;
while (~scanf("%d",&t))
{
while (t--)
{
scanf("%lf %d",&n,&m);
int sum=;
for (i=;i<=m;i++)
{
scanf("%d %lf",&a[i],&b[i]);
sum+=a[i];
}
memset(dp, ,sizeof(dp));
dp[]=;
for (i=;i<=m;i++)
{
for (j=sum;j>=a[i];j--)
dp[j]=max(dp[j],(-b[i])*dp[j-a[i]]);
}
int ans=;
for (i=;i<=sum;i++)
{
//printf("%lf\n",dp[i]);
if ((-dp[i])<=n&&ans<i) ans=i;
}
printf("%d\n",ans);
}
}
return ;
}

poj 3624 && hdu 2955(背包入门)的更多相关文章

  1. poj 3624 Charm Bracelet 背包DP

    Charm Bracelet Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://poj.org/problem?id=3624 Descripti ...

  2. POJ 3624 Charm Bracelet 0-1背包

    传送门:http://poj.org/problem?id=3624 题目大意:XXX去珠宝店,她需要N件首饰,能带的首饰总重量不超过M,要求不超过M的情况下,使首饰的魔力值(D)最大. 0-1背包入 ...

  3. HDU 2955 Robberies 背包概率DP

    A - Robberies Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submi ...

  4. hdu 2191 珍惜现在,感恩生活 多重背包入门题

    背包九讲下载CSDN 背包九讲内容 多重背包: hdu 2191 珍惜现在,感恩生活 多重背包入门题 使用将多重背包转化为完全背包与01背包求解: 对于w*num>= V这时就是完全背包,完全背 ...

  5. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  6. HDU 1284 钱币兑换问题(全然背包:入门题)

    HDU 1284 钱币兑换问题(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1284 题意: 在一个国家仅有1分,2分.3分硬币,将钱N ( ...

  7. POJ.3624 Charm Bracelet(DP 01背包)

    POJ.3624 Charm Bracelet(DP 01背包) 题意分析 裸01背包 代码总览 #include <iostream> #include <cstdio> # ...

  8. POJ 2104&HDU 2665 Kth number(主席树入门+离散化)

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 50247   Accepted: 17101 Ca ...

  9. 01背包问题:Charm Bracelet (POJ 3624)(外加一个常数的优化)

    Charm Bracelet    POJ 3624 就是一道典型的01背包问题: #include<iostream> #include<stdio.h> #include& ...

随机推荐

  1. C#自制Web 服务器开发:mysql免安装版配置步骤详解分享

    mysql免安装版配置步骤详解分享 1.准备工作 下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\ mysql-noinst ...

  2. ROS:ROS操作类MK.cs

    class MK { Stream connection; TcpClient con; public MK(string ip,int port) { con = new TcpClient(); ...

  3. vue--公告轮播

    html:   <div class="news" v-if="news.length > 0" > <ul class="m ...

  4. 百度地图报错:APP Referer校验失败

    今天微信小程序,通过经纬度,调用百度api,将经纬度转换成城市名和街道地址,结果小程序报错. 错误信息如下: 这个是KEY的白名单设置问题.因为白名单设置限制了来源信息.只要在下面红色部分设置IP,或 ...

  5. js判断是否为undefined

    typeof(isadmin)=="undefined"需要使用typeof才能判断

  6. Appium appium 安装不了

    npm --registry http://registry.cnpmjs.org install -g appium使用npm的国内镜像可以安装,速度很不错.以后不想输入ip的话可以输入以下命令:n ...

  7. maven(一)入门

    1.maven 简介:不用手动拷贝jar包,只需要配置坐标,自动从中央仓库下载(其他介绍请百度,这里只讲干货) 2.安装maven 1.解压与配置环境变量 2.验证是否安装成功 3.maven介绍 1 ...

  8. Flex Basis与Width的区别

    [Flex Basis与Width的区别] Flex Items的应用准则 content –> width –> flex-basis (limted by max|min-width) ...

  9. 常用的jquerymobil 站点

    http://www.jqmapi.com/api1.2/ Jquery Mobile 中文API站 https://codiqa.com/demo   jquerymobil UI编辑器 https ...

  10. elasticsearch ik安装

    /usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-ana ...