dp
DJ_Liu
·
·
个人记录
刀片(
计数dp
计数问题一般指求一个集合 S 的大小,但是一般量级都十分大,不能逐一求出 S 的元素,这时候如果可以把 S 分成若干不交子集,那么原答案就是这些子集的答案之和,而如果子集的计数方式刚好与原问题相同,就可以用计数dp做。
经典题型:
给定一个正整数 n,求有多少个把 n 划分成 k 个正整数的和的方案,位置调换视为不同的划分方案。
即求一个集合 S_{n, k},其中的每个元素是一种方案,求这个集合的大小
注意到每一位都是正整数,所以 k 个数的话每个数的范围是 [1, n - k + 1],考虑枚举第 k 位的数,那么 S_{n, k} = \sum_{a_k=1}^{n-k+1}S_{n-a_k,k-1},于是令 f_{n, k} = S_{n, k},dp即可。
概率dp
动态dp
dp套dp
dp优化
决策单调性
slop trick
wqs二分