穷举/动态规划 求解商品最优价格问题

博客探讨了商店优惠活动下的商品最优购买策略。通过穷举法,首先对商品按价格降序排序,然后递归寻找最优商品区间。动态规划解法中,利用F[i] = min{sum(i,k)+F[k+1]}来计算最便宜的总花费。" 131693362,8628902,SPSS多元回归分析电影票房预测,"['数据分析', '统计学', '预测模型', 'SPSS软件', '电影行业']
摘要由CSDN通过智能技术生成

问题大意:商店进行优惠活动,每一件商品的价格达到500以上将对下一件商品减少200,达到1000减少500,达到2000减少1000.也可以将前几件商品看作一个组合(比如299,399,599),那么下一件商品就会减少500元,但是前三个商品不优惠.现在需要购买一系列商品,如何实现最优的购买策略?

此题穷举法可解:首先对所有商品进行排序,按照价格从高到低进行排序.然后寻找一个商品区间[0,k1],然后递归的求解区间[k1+1,n]的最优解.当然,需要注意的细节是在求解下一个区间是必须代入上一个区间的折扣.同时我们利用一个string变量记录相应的区间信息.
#include "iostream"
#include "sstream"
#include "vector"
#include "cmath"
#include "algorithm"
#include "numeric"
#define disc(price)     ((price < 500) ? 0:(price < 1000 ? 200:(price<2000?500:1000)))

using namespace std;
const long long int I
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值