专题三 Problem X

原创 2016年05月31日 21:55:24
一、题目编号:
          1024
二、简单题意:
      一个人买东西,现有n个物品和钱m,每个物品有价格p,钱数q,价值v,问最后获得的最大价值。
三、解题思路形成过程
       01背包问题。开始看这道题,以为就是普通背包,但是WA。最后参考了大神的代码才知道,差值越小使用它的价值越大,要按q-p排序。
四、感想
        数组的排序函数是利用两者差值,这一点想不到。问了百度才恍然大悟。
五、AC代码
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
struct node
{
    int p,q,v;
} a[555];
int cmp(node x,node y)
{
    return x.q-x.p<y.q-y.p;
}
int main()
{
    int n,m,i,j;
    int dp[5555];
    while(~scanf("%d%d",&n,&m))
    {
        for(i = 0; i<n; i++)
            scanf("%d%d%d",&a[i].p,&a[i].q,&a[i].v);
        memset(dp,0,sizeof(dp));
        sort(a,a+n,cmp);
        for(i = 0; i<n; i++)
        {
            for(j = m; j>=a[i].q; j--)
            {
                dp[j] = max(dp[j],dp[j-a[i].p]+a[i].v);
            }
        }
        printf("%d\n",dp[m]);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

kuangbin——线段树专题 C - A Simple Problem with Integers

C - A Simple Problem with Integers Time Limit:5000MS     Memory Limit:131072KB     64bit IO Fo...

UVa 101 The Blocks Problem 数据结构专题

101 - The Blocks Problem 67864 19.16% 14194 题目链接: http://uva.onli...

搜索专题(DFS)HDU 1016-Prime Ring Problem

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1016 思路分析: 首先看到数据范围不超过20,那就把40以内的素数打表存在数组里吧,然后确定搜索方...

SDAU 搜索专题 20 Prime Ring Problem

1:问题描述 Problem Description A ring is compose of n circles as shown in diagram. Put natural number ...

专题:Windows编译x264、SDL、faac、ffmpeg过程

Windows上编译ffmpeg完整过程,包括编译x264、SDL、faac。在Windows上编译ffmpeg需要用MinGW+msys,本专题用于记录编译过程中遇到的各种问题及解决方法,转载请注明...

【Cocos2d-x游戏引擎开发笔记(20)】SQLite专题

原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/8634967。 大家好,很长一段时间没有跟新我的博客,看到大家在我的...

cocos2d-x+lua 开发之lua代码热更新专题1

cocos2d-x+lua 开发之lua代码热更新*大概步骤: 1、Lua脚本目录设置,如把脚本目录文件夹命名LuaScript 2、需要实现一个下载实现以及更新等待的更新场景 3、更新完成后d...

JavaFX2.x专题教程 之布局面板

本教程将主要讲JavaFX的GUIs布局控件的应用,以便构建更美观合宜的用户应用界面。 友情提醒:        如果不能看到相应的图片(CSDN直接贴文档里的图片一直不能显示),请下载PDF版“...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)