先排序预处理,后01背包。

 #include <stdio.h>
#include <string.h>
#include <stdlib.h> #define MAX(a, b) (a>b) ? a:b int dp[]; typedef struct {
int p, q, v;
} stuff_st; stuff_st stuffs[]; int comp(const void *a, const void *b) {
stuff_st *p = (stuff_st *)a;
stuff_st *q = (stuff_st *)b; return (p->q-p->p) - (q->q-q->p);
} int main() {
int n, m;
int i, j; while (scanf("%d %d", &n, &m) != EOF) {
for (i=; i<=n; ++i) {
scanf("%d%d%d", &stuffs[i].p, &stuffs[i].q, &stuffs[i].v);
}
memset(dp, , sizeof(dp));
qsort(stuffs+, n, sizeof(stuff_st), comp);
for (i=; i<=n; ++i) {
for (j=m; j>=stuffs[i].q; --j) {
dp[j] = MAX(dp[j], dp[j-stuffs[i].p]+stuffs[i].v);
}
/*
for (j=0; j<=m; ++j) {
printf("%d ", dp[j]);
}
printf("\n");
*/
}
printf("%d\n", dp[m]);
} return ;
}

【HDOJ】3466 Proud Merchants的更多相关文章

  1. HDU 3466 Proud Merchants 带有限制的01背包问题

    HDU 3466 Proud Merchants 带有限制的01背包问题 题意 最近,伊萨去了一个古老的国家.在这么长的时间里,它是世界上最富有.最强大的王国.因此,即使他们的国家不再那么富有,这个国 ...

  2. HDU 3466 Proud Merchants【贪心 + 01背包】

    Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerfu ...

  3. HDU 3466 Proud Merchants(01背包问题)

    题目链接: 传送门 Proud Merchants Time Limit: 1000MS     Memory Limit: 65536K Description Recently, iSea wen ...

  4. HDU 3466 Proud Merchants(01背包)

    这道题目看出背包非常easy.主要是处理背包的时候须要依照q-p排序然后进行背包. 这样保证了尽量多的利用空间. Proud Merchants Time Limit: 2000/1000 MS (J ...

  5. hdu 3466 Proud Merchants 01背包变形

    Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) ...

  6. HDU 3466 Proud Merchants(01背包)

    题目链接: 传送门 Proud Merchants Time Limit: 1000MS     Memory Limit: 65536K Description Recently, iSea wen ...

  7. hdu 3466 Proud Merchants(有排序的01背包)

    Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) ...

  8. hdu 3466 Proud Merchants 【限制性01背包】+【贪心】

    题目链接:https://vjudge.net/contest/103424#problem/J 转载于:https://www.bbsmax.com/A/RnJW16GRdq/ 题目大意: 有n个商 ...

  9. HDOJ 3466 Proud Merchants

    Problem Description Recently, iSea went to an ancient country. For such a long time, it was the most ...

随机推荐

  1. Asp.net中前台javascript与后台C#交互

    方法一:使用Ajax开发框架,后台方法定义前添加[AjaxPro.AjaxMethod],然后就可以在前台js脚本中调用后台C#函数. 方法二:后台方法声明为public或者protected,然后前 ...

  2. Base64 encode/decode large file

    转载:http://www.cnblogs.com/jzywh/archive/2008/04/20/base64_encode_large_file.html The class System.Co ...

  3. Dapper.NET - ORM(ibatis.Net)

    Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1  一对一映射 3.2 一对多映射 3.3 ...

  4. mysql的分区技术(建立分区)

    -- mysql建立表分区,使用range方法建立: create table t_range( id int(11), money int(11) unsigned not null, date d ...

  5. oracle 高版本导出低版本数据库并且导入到低版本数据的方法

    第一步:sqlplus system/egis@orcl as sysdba;  进入sqlplus (输入管理员用户名/密码@数据库密码) 第二步: create directory dumpdir ...

  6. UiTextField对输入的长度进行限制并提示用户还可输入的长度

    最近想做用户昵称的限制,但是网上百度了很多方法效果都不是我自己想要的,终于找到种方法 如下: 1.声明两个属性 nickname是昵称的textfleld canEditSizeLAbel是提示用户剩 ...

  7. 一、VSTO概述

    一.什么是VSTO? VSTO = Visual Studo Tools for Office,是.net平台下的Office开发技术.相对于传统的VBA(Visual Basic Applicati ...

  8. OC与Swift的区别三(条件语句)

    11.swift中的switch结构 区别一: oc中switch条件只可以放整数 swift中switch条件可以放几乎任何数据类型 区别二: oc中每一个case中应有break,如果没有brea ...

  9. Dao模型设计(基于Dao与Hebernate框架)

    以前没有Dao设计模型之前,一般都是这样的流程: ①先设计实体对象 学生对象: package com.itheima.domain; import java.io.Serializable; imp ...

  10. storm学习之入门篇(二)

    Strom的简单实现 Spout的实现 对文件的改变进行分开的监听,并监视目录下有无新日志文件添加. 在数据得到了字段的说明后,将其转换成tuple. 声明Spout和Bolt之间的分组,并决定tup ...