感觉脑子确实钝了。。。

dp一直是知识框架的弱项。

https://www.luogu.com.cn/problem/P1806

跑步,大意是跑n圈,要求每次比上一次跑的多,问多少种跑法。

很明显这个问题可以当作背包计数来考虑。每次直接用j-i来转移就可以。

https://www.luogu.com.cn/problem/P1754

大意是门票50,购买者给出50或100,存在2*n个购买者,询问多少种情况可以不存在找钱困难问题。

我们令fij为前i个人50,前j个人100。当前fij可以直接从fi-1j 和 fij-1转移过来,需要主义的是当前i>=j可以满足转移。

https://www.luogu.com.cn/problem/P1922

大意是给出一颗树,每个点为A或B,也可以没有。要求子树含自己的A和B数量相等,求最大A。

很明显我们需要dfs跑一遍,如果是入度为1的子节点,我们令它成为某一样。根节点累加子树得到的结果。

遍历所有子节点后根节点的值加上所有节点/2即可。

最终输出f1即可。


总结一下,确实都是很很简单的dp,黄题dp确实简单,但是自己做却想不明白,还是有点玄学的味道,对于一个新的dp问题不能很好的自己分析出来。如果是类似dp问题倒是有一战之力。