POJ 2392 Space Elevator 背包题解

简介:

多重背包。本题不须要二分优化。相对简单点。由于反复数十分小,小于10。

而添加一个限制每种材料的高度做法。假设使用逆向填表,那么仅仅须要从这个高度往小递归填表就能够了。

还有就是注意要排序,以限制高度为标准从小到大排序。否则答案错误的。

#include <stdio.h>
#include <string.h>
#include <algorithm>
using std::sort;

const int MAX_K = 401;
const int MAX_H = 40001;
struct HCA
{
	int h, a, c;
	bool operator<(const HCA &hac)
	{
		return a < hac.a;
	}
};
HCA hca[MAX_K];
bool tbl[MAX_H];

inline int max(int a, int b) { return a > b ? a : b; }

int bagDP(int B)
{
	memset(tbl, 0, sizeof(tbl));
	tbl[0] = true;
	for (int i = 1; i <= B; i++)
	{
		int k = 1;
		for ( ; (k << 1) <= hca[i].c; k <<= 1)
		{
			for (int j = hca[i].a; j >= hca[i].h*k; j--)
				if (tbl[j-hca[i].h*k]) tbl[j] = true;
		}
		k = hca[i].c - k + 1;
		for (int j = hca[i].a; j >= hca[i].h*k; j--)
			if (tbl[j-hca[i].h*k]) tbl[j] = true;
	}
	int i = MAX_H - 1;
	for (; i > 0 && !tbl[i]; i--);
	return i;
}

int main()
{
	int blocks;
	scanf("%d", &blocks);
	for (int i = 1; i <= blocks; i++)
	{
		scanf("%d %d %d", &hca[i].h, &hca[i].a, &hca[i].c);
	}
	sort(hca, hca+blocks+1);
	printf("%d\n", bagDP(blocks));
	return 0;
}







本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5259833.html,如需转载请自行联系原作者

相关文章
|
4天前
|
数据采集 人工智能 安全
|
14天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1145 152
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1804 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
730 152
|
7天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
515 5
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
676 14