DP学习心得
今天和昨天学了两道dp的题目,刚入门dp的我有了一定的感触。
dp的本质其实还是搜索,是在搜索问题上的优化。
听了acwing上面y总的闫式dp分析法,感触很深。
闫式分析法将dp问题以一种很好理解的方式展现在我的眼前,这个分析法最大的特色就是其对于分析dp问题有一种特定的模式,如下图:
y总在讲dp问题的时候,总是会不厌其烦地将这种分析图化给我们看,一步步的教我们如何去分析一个dp问题。
他的分析思路很有逻辑性,也很容易让人理解(虽然思路很难想到,但是只要他告诉我了我就能听明白)。
很多dp问题都涉及到数学知识,虽然我现在也没有刷那么多dp题目,但是从这两天学的两道dp问题来看,dp重要的还是思路,状态的一个分析。
状态的分析往往需要通过一些转化(数学推导,逻辑转换等等),把问题中难以处理的状态转化成可以分析出来的状态,这个是dp问题状态分析的关键。
往往dp问题的状态一般都不是说能直接就可以分析出来的,往往需要多加思考,推导,才能够把思路想出来,比如下面这张图展示了很巧妙的转化:
(题目是acwing上的题目“波动数列”)
目前来说我dp的题目确实做的很少,所以现在的状态还是碰到一个dp问题,对于它的状态分析感觉还是有些难以下手。
确实认识到自己的智商不足以支撑我在不刷题的情况下就能想出一道从未谋面的题目的思路,所以我觉得解决智商不足的方法那就是多刷题目,积累经验。
或许多刷了一些题,多积累一些经验,多尝试一些思路,就能开拓自己的思维,或者说利用丰富的经验来解决一些新的题目。
y总说其实dp问题的种类并不多,就那么几种,但是就那么几种对目前的我来说还是一道大坎,我需要通过自己的努力去跨越。
我现在的目标是从今天开始每天无论多忙都要抽出一点时间来学习一道dp问题。
为什么我这么喜欢dp呢?是因为dp出现的频率很高吗?是因为dp简单吗?
都不是,是因为我喜欢它的神秘。
我觉得它很神奇,当我绞尽脑汁无从下手的时候,我会十分渴求知道它的答案。当我听了别人的讲解之后那种豁然开朗的感觉,令我神往。还有被那些神奇的解法所震撼的快感。
当我无从下手时,听完别人神奇的思路,那种灵魂升华的感觉,正是我所追求的。
也许没有别的东西能比从无法下手一道dp题到彻底弄明白它更有成就感。
我喜欢dp,不是因为它难,不是因为它经常出现,也不是因为它特殊,而是因为我喜欢它那神秘莫测的感觉。
就如同我喜欢你一样。