BZOJ [HAOI2008]硬币购物

这题能一眼看出DP的都是大神。佩服佩服。

蒟蒻我开始也想到DP,但是只能YY到暴力背包这样的东西。

然后想到把 \( s \) 分成两部分,分别给硬币 \( 1、2 \) 和 \( 3、4 \),这样只要求一下线性方程解的个数就好了。

但是复杂度高了,而且BZOJ的姥爷评测姬又跑不动,果断TLE。

(还问了下学长,被安利了一发博客,然后被吐槽了(T ^ T))

很多人都用容斥+DP,题解几乎全是这样的做法。

但蒟蒻如我头一次见到OI中的容斥,只当长见识了。

当然容斥的原理解释起来也很好说,比较巧妙的是用到了多重背包表示“选一不选二”、“只选二和三”这样的容斥状态。

回头再想想怎样优化一下线性方程的解法。

猜你喜欢

转载自www.cnblogs.com/Alrond/p/9203834.html