关注
刚好刷到了,提供一个比较笨重的办法:
这里我把这个问题转化成背包问题。设多维数组dp[A][B][C],dp[i][j][k]表达在购买i件A,j件B,和k件C的情况下所能达到的最优优惠金额,最优解问题,那么数组dp初始化为0即可。依题有5种商品可以选择:A,B,C,AB,BC。B和C的优惠金额都是0元,因此可以忽略。
dp[i][j][k]如何得到呢?依次考虑A,AB,BC这三件商品即可,比如先考虑A,A最多买i件,那么依次考虑买0,1,2,...i件A,即dp[i][j][k]=max(dp[i][j][k], dp[i-x][j][k] + 10*x),这里A的购买件数是x,x从0遍历到i即可。A考虑完之后再考虑AB,AB最多购买min(i,j)件,且在购买x件AB的情况下,dp[i][j][k]=max(dp[i][j][k], dp[i-x][j-x][k] + 30*x), 方法一样,最后再考虑BC即可。
将ijk的值分别遍历到想要的数值,最后就能得到答案。
时间复杂度好像是n的4次幂
查看原帖
1 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的秋招白月光和意难平公司 #
15919次浏览 152人参与
# 职场上哪些事情令人讨厌 #
27259次浏览 111人参与
# 百度秋招 #
57276次浏览 395人参与
# 你想跟着什么样领导? #
10430次浏览 131人参与
# 机械人还在等华为开奖吗? #
280646次浏览 1438人参与
# 从夯到拉,评价编程语言 #
9121次浏览 75人参与
# 什么样的背景能拿SSP? #
119012次浏览 417人参与
# 一人一个landing小技巧 #
133929次浏览 1479人参与
# 牛客租房专区 #
127875次浏览 1359人参与
# 找实习是选平台还是选业务? #
13987次浏览 179人参与
# 每个月花钱最多的地方是? #
7768次浏览 105人参与
# 大疆的机械笔试比去年难吗 #
94050次浏览 764人参与
# 腾讯工作体验 #
530788次浏览 3593人参与
# 你见过哪些工贼行为 #
47253次浏览 175人参与
# xxx岗位的一天 #
13753次浏览 124人参与
# 十一月总结 #
19509次浏览 181人参与
# 深信服求职进展汇总 #
237236次浏览 1799人参与
# AI“智障”时刻 #
8239次浏览 76人参与
# 实习的内耗时刻 #
203714次浏览 1497人参与
# 分享一个让你热爱工作的瞬间 #
48676次浏览 417人参与
# 你面试时吹过最大的牛 #
25129次浏览 130人参与

