讲课人:

清北学堂dp图论营游记day1

老师对dp的理解是类似于分治思想,由小状态推出大状态。不同的是分治算法没有重叠子问题。

dp把子问题越划越小,从而推出了基础状态。然后是dp方程,要满足简洁性,并且充分描述能够影响最后结果的条件。

转移?zhx:从小问题推到大问题就是转移。

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

原题链接:

思路:先把挂钩数量排个序

清北学堂dp图论营游记day1

这个题和导弹拦截差不多,你对l进行从大到小排序,那么文题就变成了求最长不上升子序列的个数,也就是最长上升子序列的长度。

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1清北学堂dp图论营游记day1

n^2做法。

先想n^4做法,然后一步一步优化。

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

来道水题。

清北学堂dp图论营游记day1

上午完结。

下午:

序列dp,区间dp

清北学堂dp图论营游记day1

 

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1清北学堂dp图论营游记day1

 

清北学堂dp图论营游记day1

对于某个括号序列,把左右括号看成一组,对每个序列内部的括号进行消去操作,最后总能得到这样的东西:清北学堂dp图论营游记day1,于是我们可以吧这个题转化为另外一个题:

清北学堂dp图论营游记day1

对于这个题,我们要为了不让血量低于0,按打怪物减少血量升序排列。

清北学堂dp图论营游记day1

 

回到这个题:

 清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

 

清北学堂dp图论营游记day1

 这类问题:卡特兰数:

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

安利经典题:

清北学堂dp图论营游记day1

代码如下:

清北学堂dp图论营游记day1

区间dp:

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

清北学堂dp图论营游记day1

转移方程:dp[i][j]=min(dp[i][k]+dp[k][j]+gcd(a[i],a[j]));很ez。

完结。zhx很强大

相关文章: