/*
HDU1300 DP
给定n种珠宝
每种珠宝两个数据,amount[i]代表数量,price[i]代表单价
购买珠宝时要满足以下购买规则:
单独买:每种珠宝要加上数量10
合并买:可以把连续几种珠宝数量合并,再加上10,单价按照price最大的计算
求出购买所有的珠宝最少要花费多少
思路:
初始化:第一种珠宝
只需要管当前第i种珠宝的购买
购买方法一:前i-1种按照前面的最优值购买(无后效性),第i种单独买
则: dp[i]=dp[i-1]+price[i]*(amount[i]+10);
购买方法二:从第j种到第i种数量合并购买,其中j从1取到i
则: dp[i]=dp[j-1]+(amount_tot[i]-amount_tot[j-1]+10)*price[i];
结果:dp[n]
*/
#include
#include
#include
#include
#include