简单的0-1背包问题,大家都会做的。题意不想解释太多。

简述题目的案例及以几个关键

Sample Input

1                            //测试组数T

5 10                       //骨头总个数N,背包总体积V

1 2 3 4 5                //N块骨头各自的价值

5 4 3 2 1                //N块骨头各自的体积

Sample Output        //输出最大价值

14

注意:每种骨头只有一块,不然理解不了案例的Output是14。

骨头的价值和体积要分开输入。

最精髓的应该就是这句吧,可惜自己还不会融会贯通=_=||

dp[j]=max(dp[j],dp[j-volume[i]]+value[i]);

#include<iostream>
#include<cstring>
using namespace std;
#define maxn 1001

int N,T,V,i,j,ans;
int value[maxn],volume[maxn],dp[maxn];

int max(int a,int b)
{
    return a>b?a:b;
}

void DP(int n,int v)
{
    ans=;
    memset(dp,,sizeof(dp));
    ;i<=n;i++)
        for(j=v;j>=volume[i];j--)
        {
            dp[j]=max(dp[j],dp[j-volume[i]]+value[i]);
            ans=max(ans,dp[j]);
        }
    cout<<ans<<endl;
}
int main()
{
    cin>>T;
    while(T--)
    {
        cin>>N>>V;
        ;i<=N;i++)
            cin>>value[i];
        ;i<=N;i++)
            cin>>volume[i];
        DP(N,V);
    }
    ;
}

2016HUAS_ACM暑假集训4M - 基础DP的更多相关文章

  1. 2016HUAS_ACM暑假集训4K - 基础DP

    我不知道怎么用DP,不过DFS挺好用.DFS思路很明显,搜索.记录,如果刚好找到总价值的一半就说明搜索成功. 题目大意:每组6个数,分别表示价值1到6的物品个数.现在问你能不能根据价值均分. Samp ...

  2. 2016HUAS_ACM暑假集训4A - 递推

    利用组合公式C(n,m)=C(n-1,m)+C(n-1,m-1).也就是从n个数里面选择m个数.按递增方式放在每一层循环. 杨辉三角+二项式定理,还真是挺有“意思”的一道题.说实话,非原创.见谅... ...

  3. 2016HUAS_ACM暑假集训4D - 计数,排列

    一个错排公式的基础应用. 大致题意:求n个数的错误排列方式.(每个都要错) 在这里先贴一下错排公式:D(1)=0:D(2)=1:D(n)=(n-1)*(D(n-1)+D(n-2)) 它的推导也非常有意 ...

  4. 暑假集训 || 状压DP

    emm 位操作实现技巧: 获得第i位的数据:  if(!(data & (1<< i)))  则data的第 i 位为0,else 为 1 设置第i位为1,data=(data | ...

  5. 2016HUAS_ACM暑假集训4C - 递推

    题目大意:给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形. 这里我们可以这样看: 对于行:假如是m单位长度,则长度为1的矩形有m个,长度为2的矩形有m-1个......长度为m的只有1 ...

  6. 2016HUAS_ACM暑假集训4F - 数论

    这个题目,如果没找到方向,确实有点一头雾水.但是如果你找对方向了,AC是分分钟的事.答案就是看n和m是否有除1之外的公约数. 简单证明:设n和m最大公约数不是1,假设为p.n和m总可以化为一个数乘以k ...

  7. 2016HUAS_ACM暑假集训4B - 递推

    这种数学推理题目题意极其明显,在做的时候,可以多写几组,这样找起规律来会容易些.概括起来就是:题意简单暴力,案例毫无价值. 一个三角形最多可以把一个平面分成两部分,两个三角形最多是8(2+6)部分,而 ...

  8. 2016HUAS_ACM暑假集训3G - 还是畅通工程

    最小生成树,题目简单.套的Prim模板,其他的题目比较有意义. Sample Input 3                             //村庄个数1 2 1               ...

  9. 2016HUAS_ACM暑假集训3F - Jungle Roads

    这个题目属于最小生成树问题,可以用Prim,也可以用Kruskal(还没试).题意简单直接,给你一个图,求出它最小生成树的权值. 题目最有趣的地方就是图的顶点是字母,稍微处理一下就好了. Sample ...

随机推荐

  1. Oracle存储过程例子:运用了正则表达式、数组等

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...

  2. 如何在MainWindowViewModel中引用MainWindow.xaml中的Resource?

    问题描述:在MainWindow.xaml的Window.Resource中定义了一个资源,如下: <xctk:Wizard x:Key="_wizard" FinishBu ...

  3. 学习中的错误——ubuntu 14.04 LTS 启动eclipse报错

    在ubuntu中启动eclipse报错:(Eclipse:15978): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assert ...

  4. centos7安装nginx

    一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩. 一:安装 pcre 1.下载地址:百度云盘 http://pan.baidu.com/s/1dFusO3v ...

  5. .NET网页打印以及使用打印需要注意的事项(可能会引起VS崩溃的现象、打印预览后关闭功能不管用)

    这两天进行给网页添加打印.打印预览.页面设置的功能.遇到了以下几个问题 [1]在网上查找了一些打印方法,一开始还可以用,后来不知道动到了哪里,点击vs中拆分或者切换到另一个设计和源代码显示方式,就会引 ...

  6. Html 开发工具 之Hbulider

    下载地址 : 百度搜索该名字即可 或 点击此处 选择  文件->新建Web项目 输入项目名称即可  如下图 它会自动生成一些 文件夹 或文件,不需要的删除即可.

  7. 关于用photoshop制作海报

    最近由于事情比较多,一直忙着各项活动的策划,而我所在的学社联和金山俱乐部都组织了ps的培训,也要求上交一些海报,在积极熟悉ps cs6中. 就昨天做的光棍节脱单海报来讲,稍微运用了笔刷等最基础的工具. ...

  8. your local repository contains non-ascii

    安装CCS时候遇到  your local repository contains non-ascii 问题. 解决方法:  不要在中文目录下安装.

  9. Autorun.inf文件(2):改变硬盘分区图标

    改变F盘图标. 原理:在f盘下新建一个Autorun.inf文件,文件内容是 [AutoRun]icon=favicon.ico准备名为favicon.ico图标文件,将其放在工程目录里,设计程序将它 ...

  10. win32自绘按钮,使用GDI+(二)

    一.解决上一篇的两个问题. 1.按钮背景透明 方法是,在绘制按钮之前,向按钮的父窗口发生WM_CTLCOLORBTN消息.该消息返回一个画刷句柄,系统使用该画刷句柄画出按钮的背景.所以我们在处理这个消 ...