1002. Business (35)解题报告

博客介绍了PAT题目1002 Business的解题思路,强调问题本质为01背包问题。由于DFS搜索会导致超时,作者采用动态规划方法,并利用C++中的map实现。博客内容还提到了通过动态规划的两个map来存储不同轮次的结果和利润,同时提及map的特性可能导致迭代器问题,不适合简化为一个map。
摘要由CSDN通过智能技术生成

思路

实质上是01背包问题。

本题用DFS暴力搜索绝对会超时,应当使用动态规划。

由于未指定D的最大值,故使用了map。

 

本文参考了:PAT (Top Level) Practise 1002 Business (35)

通过该链接,学到了给结构体添加成员函数,给结构体重载小于号操作符,利用map进行动态规划。

通过画面

 

代码

#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cstdlib>
#include <map>
#include <algorithm>
using namespace std;

struct project {
	int L, P, D;
	bool operator < (const project &p) {
		return D < p.D;
	}
	void input(void) {
		scanf("%d %d %d", &P, &L, &D);
		return;
	}
};

int main(void) {
	project *arr;
	int n, i, best_gain = 0;
	map<int, int> *mp;
	scanf("%d", &n);
	mp =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值