检测到 KaTeX 加载失败,可能会导致文中的数学公式无法正常渲染。
#题面
#题目描述
大家都知道,R_rank_Pyram 在两次搜索专题比赛中都雄踞排行榜首位。林老师会给他个什么官当当呢?其实讲真,老师也很矛盾……直到有一天,lgj 发现机房的一些日用品需要更新了,比如扫把啦,抹布啦,畚斗啦……那不然就奖励 R_rank_Pyram 同学当机房的新生活委员吧!
新官上任三把火,R_rank_Pyram 一上台就要为机房购置 种日用品(编号从 到 ),R_rank_Pyram 会选择在 家商店购买。由于 R_rank_Pyram 不想带着买好的商品在商店间穿梭,他每次从机房出发到一家店铺买完东西后,会把东西带回机房,再出发去另一家店铺……
已知从机房往返第 家店铺的交通费为 ,并且每件商品在不同店铺购买价格也不同,第 件商品在第 家店铺的价格为 。精打细算的生活委员想知道,购买这 件商品最少需要花多少钱?
#输入格式
第一行包含两个正整数 ,表示店铺数量和需要购买的物品种类数。
接下来 行,每行第一个正整数 表示机房到第 家商店的往返路费,接下来 个正整数,依次表示 。
#输出格式
输出一个正整数,即最小花费。
#样例输入输出
样例输入 #1
3 4
5 7 3 7 9
2 1 20 3 2
8 1 20 1 1
样例输出 #1
16
样例解释 #1
生活委员会在 号店买 号商品,在 号店买 号商品。
#数据规模与约定
对于 的数据:;
对于 的数据,;
对于 的数据,,,,。
#思路
一看数据范围就知道是一个很显然的状压 DP。
对于每个状态可以从三种情况转移得出答案:
- 保持当前购买情况不变,没有新增开销;
- 上一个物品也是在当前商店内购买的,直接加上物品 的价格;
- 从其他商店赶来后再购买物品 ,除了物品价格外还需要支付路费。
每轮转移完成后与之前的答案比较,取最优的存储即可。
详细实现可以查看下方代码。
#代码
1 |
|