1635 Space Elevator【解题报告】

来源:互联网 发布:知柏地黄丸功效禁忌 编辑:程序博客网 时间:2024/05/22 14:37

 

Space Elevator

Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2829 Accepted: 1172

http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1635

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

Hint

OUTPUT DETAILS:

From the bottom: 3 blocks of type 2, below 3 of type 1, below 6 of type 3. Stacking 4 blocks of type 2 and 3 of type 1 is not legal, since the top of the last type 1 block would exceed height 40.

Source

USACO 2005 March Gold
分析:

高度相当于物品的容量也是价值,而这里的限制高度相当于背包容量,当然这里有多只背包,但最后是组合起来的,相当于一只。运用多重背包,其实也是01背包的拓展而已,基本一样。

要想知道之间的关系参看:http://blog.csdn.net/helihui123/archive/2009/11/13/4807977.aspx

具体的都在那个参看那里,这里不多说直接代码,我加了注释: