这题能一眼看出DP的都是大神。佩服佩服。
蒟蒻我开始也想到DP,但是只能YY到暴力背包这样的东西。
然后想到把 \( s \) 分成两部分,分别给硬币 \( 1、2 \) 和 \( 3、4 \),这样只要求一下线性方程解的个数就好了。
但是复杂度高了,而且BZOJ的姥爷评测姬又跑不动,果断TLE。
(还问了下学长,被安利了一发博客,然后被吐槽了(T ^ T))
很多人都用容斥+DP,题解几乎全是这样的做法。
但蒟蒻如我头一次见到OI中的容斥,只当长见识了。
当然容斥的原理解释起来也很好说,比较巧妙的是用到了多重背包表示“选一不选二”、“只选二和三”这样的容斥状态。
回头再想想怎样优化一下线性方程的解法。