POJ 2392 Space Elevator

题目地址:http://poj.org/problem?id=2392

题目大意:有一头奶牛要上太空,他有很多种石头,每种石头的高度是hi,但是不能放到ai之上的高度,并且这种石头有ci个
将这些石头叠加起来,问能够达到的最高高度。

解题思路:先将石头可以放置的最大高度按从小到大的顺序进行排序,

因为只有先放置最大高度最低的才能得到最优解,也就是说让一种石头尽可能高的放。

最大值必须初始化为0,因为存在高度为0的情况。

 

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int dp[400005];
struct node
{int h,a,c;bool operator<(node &b){return a < b.a;}
}Arr[420];
int max(int a,int b)
{return a > b ? a : b;
}
void zero_one_pack(int cost,int value,int v)
{//0 1背包for(int j = v; j >= cost ; j--)dp[j] = max(dp[j],dp[j-cost]+value);
}
void com_pack(int cost,int value,int v)
{//完全背包for(int j = cost ; j <= v; j++)dp[j] = max(dp[j],dp[j-cost]+value);
}
int main()
{int k,i,n;while(scanf("%d",&n)!= EOF){int a = 0,c = 0,h = 0;for(i = 0; i < n; i++){scanf("%d%d%d",&Arr[i].h,&Arr[i].a,&Arr[i].c);}sort(Arr,Arr+n);//按最高限度从小到大排序memset(dp,0,sizeof(dp));int M = 0;for(i = 0; i < n; i++)	{//printf("%d %d %d\n",Arr[i].h,Arr[i].a,Arr[i].c);if(Arr[i].c*Arr[i].h >= Arr[i].a)//完全背包{com_pack(Arr[i].h,Arr[i].h,Arr[i].a);}else{//0 1背包,按二进制方式放物品k = 1; while(k < Arr[i].c){zero_one_pack(k*Arr[i].h,k*Arr[i].h,Arr[i].a);Arr[i].c -= k;k *= 2;}zero_one_pack(Arr[i].h*Arr[i].c,Arr[i].h*Arr[i].c,Arr[i].a);}/*if(dp[Arr[i].a] > M)M = dp[Arr[i].a];*/}//不知道为什么要扫描数组,求解?for(i = 0; i <= Arr[n-1].a; i++)if(dp[i] > M)M=dp[i];printf("%d\n",M);}return 0;
}


 

转载于:https://www.cnblogs.com/LUO257316/archive/2012/08/18/3220839.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一篇文章搞懂数据仓库:总线架构、一致性维度、一致性事实

目录 1、概述 总线架构 一致性维度 一致性事实 2、总线架构demo 1、概述 在Kimball的维度建模的数据仓库中&#xff0c;关于多维体系结构&#xff08;MD&#xff09;有三个关键性概念&#xff1a;总线架构&#xff08;Bus Architecture&#xff09;&#xff0c;一致性维…

路易斯·罗森伯格与「群体智能」

选自 | Gigaom编译 | 网易智能&#xff08;smartman163&#xff09;参与 | 李擎与谷歌、Facebook等开发“传统意义上的人工智能”的技术不同&#xff0c;在Unanimous A.I.&#xff0c;科学家们利用人工智能来放大群体的智慧&#xff0c;而不是使用人工智能来代替人类。他们没有…

数据结构和数据类型之间的关系

数据结构 数据元素 数据关系&#xff1b; 数据类型 数据结构 数据操作&#xff1b; 所以数据类型的范畴是大于数据结构的。 数据类型的范畴和类有点相似。其实类也是一种数据类型。 int,char基本类型 同样可以抽象成数据结构和数据元素的模型&#xff0c;只是这里的数据元素…

hive 参数设置大全

合理设置参数&#xff0c;让集群飞起来~ 参数缺省值描述可单独使用set hive.execution.enginetez; 设置hive的计算引擎可单独使用set mapreduce.map.memory.mb4096; 设置每个map的内存可单独使用set mapreduce.reduce.memory.mb4096; 设置每个reduce的内存可单独使用set map…

Qt实用快捷键(较全面)

总结整理的常用快捷键&#xff0c;欢迎留言补充&#xff01;

Python下载中国数据库大会(DTCC2020)PPT全集

目录 背景 效果展示 程序下载 网盘下载 背景 前几天中国数据库大会风风火火的在京举行了&#xff0c;期间干货满满&#xff0c;收获良多。在学大佬们的ppt时&#xff0c;发现只能一篇一篇预览&#xff0c;对于求知欲强烈的小编来说简直太难受了&#xff0c;于是便写了个程…

Android UI布局—— 仿QQ登录界面

最近&#xff0c;有点空闲的时间就拿QQ登录界面来模仿练手&#xff0c;做了个简单的登录界面。界面一般般吧&#xff0c;不算很漂亮&#xff0c;现在拿出来分享&#xff0c;希望大家一起学习与进步。有什么不足之处&#xff0c;请各位大侠多多赐教&#xff0c;谢谢。这个界面涉…

新造车公司背后的「资本大佬」

来源&#xff1a;电动汽车观察家&#xff08;ID&#xff1a;evobserver&#xff09;为了代表行业全貌&#xff0c;我们既分析光鲜靓丽的头部企业&#xff0c;也涉及比较不知名、甚至陷入舆论漩涡的一些企业&#xff0c;共十家代表企业资金的来源分析。1、蔚来汽车过往融资成绩&…

MySQL流浪记(一)—— 初步认识数据库的内涵

认识数据库 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内、有组织、可共享、统一管理的大量数据的集合。可以将数据库视为一个电子化的文件柜&#xff0c;用户可以对文件中的数据进行新增、查询、更新、删除等操作。 数据库是一个按数据结…

一篇文章搞懂数据仓库:元数据分类、元数据管理

目录 1、业务元数据 2、技术元数据 3、管理元数据 4、小编有话 1、业务元数据 描述 ”数据”背后的业务含义 主题定义&#xff1a;每段 ETL、表背后的归属业务主题。 业务描述&#xff1a;每段代码实现的具体业务逻辑。 标准指标&#xff1a;类似于 BI 中的语义层、数仓…

MEMS传感器科普文

来源&#xff1a;MEMS技术MEMS 的全称是微型电子机械系统&#xff0c;利用传统的半导体工艺和材料&#xff0c;集微传感器、微执行器、微机械机构、信号处理和控制电路、高性能电子集成器件、接口、通信和电源等于一体的微型器件或系统。具有小体积、低成本、集成化等特点。MEM…

silverlight 缺少对象错误

如果你的silverlight程序用vs调试时候运行良好,没有错误.你满怀欣喜的发布到iis上,一浏览,跳出个对话框,告诉你缺少对象.那么请不要慌张,你应该检查一下,你发布silverlight程序到iis的时候,有没有设置MIME类型,如果忘了设置,赶紧设置上吧,方法如下: 打开iis管理器,在网站上右键…

NFS服务器原理、搭建、配置

目录 NFS服务简介 什么是NFS&#xff1f; NFS挂载原理&#xff1a; RPC与NFS通讯原理&#xff1a; NFS客户端和NFS服务器通讯过程&#xff1a; Linux下NFS服务器部署 NFS服务所需软件及主要配置文件&#xff1a; 服务端安装NFS服务步骤&#xff1a; NFS客户端挂载配置…

MySQL流浪记(二)—— MySQL介绍及其特性

MySQL介绍 MySQL是一个关系型数据库&#xff0c;是一个开放源码的关系型数据库管理系统&#xff0c;原开发者位瑞典的MySQL AB公司&#xff0c;该公司于2008年被昇阳为系统&#xff08;Sun&#xff09;收购&#xff0c;2009年&#xff0c;甲骨文公司&#xff08;Oracle&#xf…

学习AutoIt

学习AutoIt转载于:https://www.cnblogs.com/bull_think/archive/2012/08/21/2649839.html

2021年03月-程序员薪资分布,看看你拖后腿了吗?

程序员工资是不确定的&#xff0c;要根据程序员的历、能力、工作经验、是否刚毕业、工种&#xff0c;工资是不一样的&#xff0c;还与地域和公司有关&#xff0c;但是总的来说&#xff0c;程序员工资都是很高的&#xff0c;是很多人都羡慕的职位。 那么程序员的薪资到底多高呢…

Science:领导决策的计算和神经生物学基础

来源&#xff1a;思影科技摘要&#xff1a;最近&#xff0c;来自苏黎世大学的Micah G. Edelson等人在SCIENCE上发文&#xff0c;他们将基于知觉和价值决策的模型结合起来&#xff0c;以评估被试对每一个决策行为的个人效用&#xff0c;从而梳理出选择领导或服从的潜在动机。最近…

tar命令集合(详解)

tar 命令可以将许多文件一起保存至一个单独的磁带或磁盘归档&#xff0c;并能从归档中单独还原所需文件。 示例 以test文件为例 压缩命令 tar -cvf test.tar test test1解压命令 tar -xvf test.tar主操作模式: -A, --catenate, --concatenate 追加 tar 文件至归档 -c, --…

一个薪资double的捷径:自动化简历内推工具

最近&#xff0c;小编在处理简历时&#xff0c;发现大量简历需要一个个打开文件&#xff0c;复制姓名、邮箱、电话号码、学历等关键信息&#xff0c;效率特别低且部分文件无法直接复制。于是&#xff0c;小编便写了文件阅读工具的脚本&#xff0c;支持文件格式有&#xff1a;do…

美国韩国科学家纷纷开发出电子机器人“皮肤”,据称具有比人类更好的触觉...

来源&#xff1a;机器人创新生态摘要&#xff1a;我们已经听说过柔性电子“皮肤”可以让机器人或假肢具有类似人类的触觉。然而&#xff0c;现在德克萨斯大学阿灵顿分校的科学家们声称他们开发的“皮肤”比具有比人类更好的触觉敏感。由Zeynep ?elik-Butler教授领导的团队创建…