思路:

排序+dp。

实现:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 using namespace std;
 6
 7 const int INF = 0x3f3f3f3f;
 8
 9 int K, dp[405][40005];
10 struct node
11 {
12     int h, a, n;
13 };
14 node a[405];
15
16 bool cmp(const node & x, const node & y)
17 {
18     return x.a < y.a;
19 }
20
21 int solve()
22 {
23     for (int j = 0; j <= 40000; j++)
24     {
25         dp[K][j] = j;
26     }
27     for (int i = K - 1; i >= 0; i--)
28     {
29         for (int j = 0; j <= 40000; j++)
30         {
31             dp[i][j] = -INF;
32             for (int t = 0; t <= a[i].n; t++)
33             {
34                 if (j + t * a[i].h > a[i].a)
35                     break;
36                 dp[i][j] = max(dp[i][j], dp[i + 1][j + t * a[i].h]);
37             }
38         }
39     }
40     return dp[0][0];
41 }
42
43 int main()
44 {
45     cin >> K;
46     for (int i = 0; i < K; i++)
47     {
48         cin >> a[i].h >> a[i].a >> a[i].n;
49     }
50     sort(a, a + K, cmp);
51     cout << solve() << endl;
52     return 0;
53 }

转载于:https://www.cnblogs.com/wangyiming/p/6574641.html

poj2392 Space Elevator相关推荐

  1. 【POJ - 2392】Space Elevator (dp,优秀的背包问题)

    题干: The cows are going to space! They plan to achieve orbit by building a sort of space elevator: a ...

  2. POJ 2392 Space Elevator(多重背包变形)

    Q: 额外添加了最大高度限制, 需要根据 alt 对数据进行预处理么? A: 是的, 需要根据 alt 对数组排序 Description The cows are going to space! T ...

  3. P6771 [USACO05MAR]Space Elevator 太空电梯 题解

    [USACO05MAR]Space Elevator 太空电梯 description: 奶牛们要去太空了!它们打算用方块建造一座太空电梯.现在它们有 种方块,第 种方块有一个特定的高度 ,一定的数量 ...

  4. P6771 [USACO05MAR]Space Elevator 太空电梯-贪心与DP

    题目链接[USACO05MAR]Space Elevator 太空电梯 - 洛谷 题目描述 奶牛们要去太空了!它们打算用方块建造一座太空电梯.现在它们有 NN 种方块,第 ii 种方块有一个特定的高度 ...

  5. [背包DP]Space Elevator 太空电梯

    [背包DP]Space Elevator 太空电梯 题面 题目描述 输入 输出 样例 解析 代码 题面 题目描述 奶牛们要去太空了!它们打算用方块建造一座太空电梯.现在它们有 NN 种方块,第 ii ...

  6. poj 2392 Space Elevator

    题意 :给定n种积木,每种积木都有一个高度hi,一个数量ci,还有一个限制条件,这个积木所在的位置不能高于ai,问能叠起的最大高度// 这里有个问题需要注意 就是ai小的要先进行背包 不然 在 ai高 ...

  7. poj 2392 dp 不是很懂哎!!!Space Elevator

    大意:有K种block去建塔,每种每个都有一个高度H,用了当前的block塔的高度不能超出a,和每种的数量.求塔最高能建多高. 分析:这题就是一个多重背包,但有一点变动,必须先以a从小到大排序,因为如 ...

  8. The Space Elevator -通往地球同步轨道的天梯

    今天无意中看到的,看来所有的科幻事物都是有其现实依据的.天梯(又译空间电梯)是一种低成本将有效载荷从地球或其它星球的表面运送到外层空间的运输工具.它由几个部分组成: * 平衡锤:平衡锤是一个比较重的物 ...

  9. Space Elevator 太空电梯(洛谷)

    题目描述 奶牛们要去太空了!它们打算用方块建造一座太空电梯. 现在它们有 N 种方块,第 i 种方块有一个特定的高度 hi,一定的数量 ci . 为了防止宇宙射线的破坏方块,第 i 种方块的任何部分不 ...

最新文章

  1. php跟web前端的区别,php与javascript的区别是什么?
  2. PCIe - 周扒皮,扒扒TLP层
  3. Linux登陆Mariadb数据库,Mariadb数据库的远程连接(centos 7+ Navicat)
  4. 云栖首日:智物智造宣布3年10亿目标
  5. 案例演示Python二维列表与Java二维数组
  6. 新拟物素材|时髦iOS 主屏幕图标
  7. gluster分布式存储 入门篇
  8. Visio 2003 精简版(简体中文,免激活)百度云链接
  9. 2020 APP批量头像,高质量严选真实用户头像
  10. Ubuntu16.04 CPU压力测试
  11. VC6.0 TeeChart5.ocx注册
  12. 信道——通信原理笔记(二)
  13. 人气爆棚!让我瞧瞧谁家展位这么6?
  14. 软考高级-信息系统管理师之综合测试与管理(最新版)
  15. ping通www.baidu.com的完整过程。
  16. Nye Lubricants UNIFLOR RHEOLUBE NYOGEL
  17. MySQL8.0.15安装教程(Windows)
  18. 浏览器主页被劫持的解决办法、浏览器劫持是什么意思
  19. Flyweight模式——读书笔记
  20. python用turtle写字_python编程课---turtle

热门文章

  1. mysql校对规则设计编码命令
  2. 关于三层交换机的路由处理方式和路由器的路由处理方式的不同
  3. 无法设置共享文件夹的解决方法收集
  4. 不再有神的概念,将所有存在称之为文明,这很有意思
  5. 一种去中心化的manager设计思路
  6. 康托展开式---我排第几+逆康托展开
  7. 剑指offer: 不用加减乘除做加法
  8. Java-InnerClass内部类
  9. 移动端列表点击跳转 返回保存原来高度
  10. 关于Java性能监控您不知道的5件事