2018.07.08 NOIP模拟 ABCD(背包)

传送门

好吧我承认这道题我又 z z zz zz了,考试时竟然爆 0 0 0,唉下来之后发现就是个简单 d p dp dp

我们对原来的限制条件变形,让 0 ≤ n u m [ i ] ≤ a [ i ] − b [ i ] 0\le num[i]\le a[i]-b[i] 0num[i]a[i]b[i],然后令 n u m [ i ] = e [ i ] − a [ i ] num[i]=e[i]-a[i] num[i]=e[i]a[i],代入原来的式子运算,会发现这是一道背包。 b [ i ] − a [ i ] b[i]-a[i] b[i]a[i]是物品的数量限制, n u m [ i ] num[i] num[i]是物品 i i i的选取数量限制, c [ i ] c[i] c[i]则是物品的大小,然后就是背包了。

然而我们发现,这样子只有 60 60 60分。因此需要用一个叫做单调队列的东西进行优化。代码如下:

代码

你可能感兴趣的:(#,基础dp,#,单调队列,NOIP模拟题集锦,dp专题)