摘要:
http://poj.org/problem?id=1260 很明显的,当vi<vj<vk且i可以用j来代替(即(si+10)*vi<si*vj)时,则当前解为最优解(因为si*vj<si*vk - -...)。 用dp[j]表示前j种pearl的最小代价,i>j&i=1...n,dp[1]=(s1+10)*v1,用第i种pearl替代前i-j种,得状态转移方程: dp[i] = min(dp[j] + (sum[i]-sum[j]+10)*val[i]) ;代码:#include<cstdio>intsum[1001],val[1001],dp[10 阅读全文