关于dp

来源:互联网 发布:淘宝 串货 编辑:程序博客网 时间:2024/05/18 04:36

dp优化:
虽然对我来说,想出转移方程就很困难了,但是必要的优化有时可以挽救局面

时间优化:
1.前缀和:
一般用于转移点的取值是一段连续的区间,
前缀和可以把转移从O(n)降到O(1)
2.单调性:
利用某一属性的单调性来加速转移,
体现在减少转移点数量(斜率优化)或快速查找转移点(nlognLIS)
常见的做法是单调队列,二分
3.数据结构:利用数据结构加速,常见的有线段树,堆
4.矩阵乘法:
快速计算递推式,转移方程只要满足可以从几个特定的状态转移都可以矩阵加速

空间优化:
1.滚动数组:
一般用于二维以上的dp,如果一维i的dp值只与i-1的dp值有关,
那么就可以只记录两维的信息(0/1),维之间的转移:
now^=1

浔阳DP无音乐,终岁不闻AC声

——xiaoyimi