当前位置: 首页 > news >正文

POJ 2392 Space Elevator(多重背包,排序)

 

    • POJ 2392 Space Elevator
      • 题意:
      • 解题过程:
      • AC代码:

 

POJ 2392 Space Elevator

题目传送门

题意:

你需要建一个高塔,材料总共有K种,每种材料有三个属性:高度,数量,限度。限度是指该种材料只能在低于该限度的高度下被使用。问你最高能够把这个高塔建到多高。

解题过程:

这题中材料有高度和数量,比较容易的想到这题是一道多重背包的题目,但是这题有一个限度的限制,使得一些材料在一定高度以上就不能使用,所以我们可以对材料按限度排序,然后就是朴素的多重背包加上一些非法方案的去除就行了。

AC代码:

#pragma GCC optimize (3)
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <queue>
#include <set>
#include <map>
#include <list>
#include <vector>
#include <cstdlib>
#include <cstring>
using namespace std;
const int maxn=500;

int n;
struct mat {
    int h,a,c;
}m[maxn];
bool f[50005];

bool cmp(mat x,mat y) {
    return x.a<y.a;
}

int main() {
    scanf("%d",&n);
    int ttop=-1;
    for(int i=1;i<=n;i++) {
    scanf("%d%d%d",&m[i].h,&m[i].a,&m[i].c);
    ttop=max(ttop,m[i].a);
    }
    sort(m+1,m+1+n,cmp);
    f[0]=1;
    for(int i=1;i<=n;i++) {
    int top=m[i].a;
    for(int j=top;j>=0;j--) {
        if(!f[j])continue;
        for(int k=1;k<=m[i].c;k++) {
        int t=j+k*m[i].h;
        if(t<=m[i].a)f[t]=1;
        }
    }
    }
    for(int i=ttop;i>=0;i--) {
    if(f[i]) {
        printf("%d\n",i);
        return 0;
    }
    }
}

本人蒟蒻OIer一枚,欢迎加QQ:840776708一起学习蛤。

转载于:https://www.cnblogs.com/Apocrypha/p/9433664.html

相关文章:

  • ubuntu17.04中启动tnsorboard过程
  • BZOJ3601 一个人的数论
  • 亚马逊推出FreeTime Android应用程序,开放适合儿童资源
  • SpaceX发射机密间谍卫星,系与美国防部签订的第一单合作
  • 无人机给你送餐了,快来签收!
  • 作为“云计算”的延伸,“雾计算”只是一种炒作吗?
  • RT-Thread的线程(任务)处理 rt_thread_create/rt_thread_init区别
  • 命令收集
  • 为实现全局化产品线布局,瑞芯微宣布旗下芯片RK3399 Linux系统开源
  • mongodb--安装和初步使用教程
  • WIFI渗透从入门到精通
  • Webscan360的防御与绕过
  • 装饰器
  • vue属性用法
  • netbeans 正则替换
  • 【面试系列】之二:关于js原型
  • Babel配置的不完全指南
  • docker-consul
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • GraphQL学习过程应该是这样的
  • JS函数式编程 数组部分风格 ES6版
  • Mithril.js 入门介绍
  • MySQL-事务管理(基础)
  • PV统计优化设计
  • spring boot下thymeleaf全局静态变量配置
  • Theano - 导数
  • unity如何实现一个固定宽度的orthagraphic相机
  • 从伪并行的 Python 多线程说起
  • 好的网址,关于.net 4.0 ,vs 2010
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 深入浅出webpack学习(1)--核心概念
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 如何用纯 CSS 创作一个货车 loader
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (zhuan) 一些RL的文献(及笔记)
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (顺序)容器的好伴侣 --- 容器适配器
  • (五)c52学习之旅-静态数码管
  • (转)大型网站的系统架构
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .net 后台导出excel ,word
  • .NET运行机制
  • .net中调用windows performance记录性能信息
  • :not(:first-child)和:not(:last-child)的用法
  • @RestControllerAdvice异常统一处理类失效原因
  • []指针