博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
A - Space Elevator(动态规划专项)
阅读量:6895 次
发布时间:2019-06-27

本文共 1814 字,大约阅读时间需要 6 分钟。

A - Space Elevator
Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u
Submit 

Description

The cows are going to space! They plan to achieve orbit by building a sort of space elevator: a giant tower of blocks. They have K (1 <= K <= 400) different types of blocks with which to build the tower. Each block of type i has height h_i (1 <= h_i <= 100) and is available in quantity c_i (1 <= c_i <= 10). Due to possible damage caused by cosmic rays, no part of a block of type i can exceed a maximum altitude a_i (1 <= a_i <= 40000). 
Help the cows build the tallest space elevator possible by stacking blocks on top of each other according to the rules.

Input

* Line 1: A single integer, K 
* Lines 2..K+1: Each line contains three space-separated integers: h_i, a_i, and c_i. Line i+1 describes block type i.

Output

* Line 1: A single integer H, the maximum height of a tower that can be built

Sample Input

37 40 35 23 82 52 6

Sample Output

48 题意:有一群牛要上太空,他们计划建一个太空梯(用一些石头垒),他们有k种不同类型的石头,每一种石头的高度为h,数量为c,由于会受到太空辐射,每一种石头不能超过这种石头的最大建造高度a,求解利用这些石头所能修建的太空梯的最高的高度.  多重背包问题,与一般的多重背包问题所不同的知识多了一个限制条件就是某些"物品"叠加起来的"高度"不能超过一个值,于是我们可以对他们的最高可能达到高度进行排序,然后就是一般的多重背包问题了 思路: 首先是录入数据,这一点比较简单,但是最好用scanf,因为它比cin快; 录入之后对各个数据按照最大的使用高度进行排序,就会转化成一个一般的多重背包为题,一开始我是用原始的多重背包做的麻烦并且也没有A了,最后看了一下题解,是因为每种块的使用个数的计算处理不当;
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 int a[40005]; 9 struct node10 {11 int h;12 int max;13 int shu;14 };15 node num[40005];16 int dp[40005];17 bool cmp(node a,node b)18 {19 return a.max
>k;30 for(i=0;i
View Code

 

 

转载于:https://www.cnblogs.com/zhangchengbing/p/3352888.html

你可能感兴趣的文章
Apache Spark机器学习.1.4 MLlib
查看>>
腾讯Android自动化测试实战3.1.1 什么是Robotium
查看>>
《Wireshark网络分析的艺术》—被误解的TCP
查看>>
《Linux防火墙(第4版)》——1.4 地址解析协议(ARP)
查看>>
《乐在C语言》一1.5 关键词
查看>>
第16期-Linux运维挑战赛
查看>>
Java的类型擦除
查看>>
好程序员web前端教程分享js闭包
查看>>
可以给redis的hash中的hashKey设置expire吗?
查看>>
Python获取本机 IP/MAC(多网卡)
查看>>
jQuery EasyUI 学习资料链接整理
查看>>
iOS textView 选中指向左上角
查看>>
OpenSSL学习(十二):基础-指令gendsa
查看>>
mac:python:pycharm:osx:可怕的case-sensitive硬盘格式
查看>>
MySQL备份与恢复
查看>>
Unsupported major.minor version
查看>>
PHP框架高级编程——应用Symfony、CakePHP和Zend
查看>>
读取xml节点值生成一个实体类,读取xml所有节点值,读取所有xml所有节点名称
查看>>
RAC 归档目录不同的备份
查看>>
配置管理小报100122:能者上、平者让、庸者下
查看>>