摘要: 首先子问题是啥??其实就是要找最右边的加号。上面这段其实就体现了这个子问题。 解题思路: 把在n个数字中插入m个加号的问题化为前i个数字中插入m-1个加号再加上从第i+1个数到第n个数字所组成的数。i的范围是从m一直到n-1,这个范围内取最小值。 这个预处理其实也就是把num二维数组给预处理算出来。 阅读全文
posted @ 2022-02-08 18:21 prize 阅读(99) 评论(0) 推荐(0)
摘要: 动规的常用的两种形式: 1,递归型: 优点:直观,容易编写 缺点:可能会因为层数太深爆栈,调用函数带来额外的时间开销。无法使用滚动数组节省空间。总体来说,比递推型慢。 2,递推型: 效率高,有可能使用滚动数组节省空间。 (poj1458) 现在就按着之前动规的思路来 递推公式: 这个递推公式还是简单 阅读全文
posted @ 2022-02-08 16:42 prize 阅读(106) 评论(0) 推荐(0)
摘要: 后面就根据之前学的动态规划的步骤往下走: 1.寻找子问题: 其实就是前n个元素的最长子序列可能有多个序列有x个最长上升子序列,但是不是每一个序列的最后一个数都是比n+1个数下,所以会受到影响。 接下来换一个子问题的形式: 2,确定状态: 3,确定状态转移方程: 解释一下:其实就是第k个数最大上升子序 阅读全文
posted @ 2022-02-08 10:32 prize 阅读(37) 评论(0) 推荐(0)