显然,如果有一块木板的长和宽分别都小于另一块木板的长和宽,则这块木板属于“赠送木板”。
我们可以排序一下,将这些“赠送木板”全部忽略掉,不会影响答案。
剩下的木板是长递减,宽递增的。
设 dp[i]dp[i]dp[i] 表示购买前 iii 个木板的最小代价。则:
dp[i]=min(dp[j]+L[j+1]∗W[i])dp[i]=min(dp[j]+L[j+1]*W[i])dp[i]=min(dp[j]+L[j+1]∗W[i])
(0≤j<i)(0≤j<i)(0≤j<i)
这个式子得用斜率优化一下。很normal,推出式子就解决了。
注册一个 SDSY 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 SDSY 通用账户