Michael2012 @ 2024-11-28 19:52:18
(由于本人是个蒟蒻)导致有的时候dp状态设计是错误的,及转移方程推不出来(不可作)。然而我一直认为是可作的导致一直推转移方程,然后就挂掉了。
所以如何判断一个dp状态设计是可作的,如何尽量避免设计出不可作的dp状态设计?
by SSqwq_ @ 2024-11-28 19:54:05
@Michael2012
先写爆搜,再记忆化。
然后你就会发现传进去的参数是 dp 状态。
然后把递归扔掉,优化。然后做完了。
by SSqwq_ @ 2024-11-28 19:55:07
数数类 dp 不能这么做。可以试试草稿纸写写画画,NOIP T1 如果考 dp 不会难的。
by Vector_Li @ 2024-11-28 19:58:18
@Michael2012 猜测 + 证明,如果您想到一个转移,证明它是对的,再去实现
DP 绝对没有模板,多训练
by Michael2012 @ 2024-11-28 19:58:52
@SSqwq_ 感谢!
by Wzhone @ 2024-11-28 20:08:33
@SSqwq_
先看数据范围, 反推时间复杂度;
算出大概的参数数量&数量级,找出哪些东西大概要进时间复杂度;
找到这个式子和答案的关联;
考虑每个式子之间的决策到底是什么(其实dp就是很多段的暴力拼凑)
然后就差不多了
by mayike @ 2024-11-28 20:13:40
@Michael2012 当然也有很套路的dp状态,只有做过那类题才会的