对于整数,求子问题

来源:互联网 发布:mpu6050中文数据手册 编辑:程序博客网 时间:2024/05/17 02:34
对于一个整数n(abcd),他的子问题可以是n-1,或者bcd,把高位去掉。

算法都是求n规模的解,直接可能得不到n规模的解
1:但是如果我们可以找到n规模和n-1规模的关系,或者说f(n)和f(n-1)和f(n-2)的关系也即找到f(n)=g(f(n-1)),而且对于n=1的规模的解我们又很容易得到的话我们就可以使用动态规划。

最优子结构性质:当问题的最优解包含了其子问题的最优解时,我们称该问题有最优子结构性质。这里的包含很模糊,概括的可以这么讲,虽然是说父问题包含子问题的解,其实更准确是:子问题可以得到父问题的解,即有
f(n)=g(f(n-1))。
动态规划就可以利用表来记住n-1,n-2等,用来计算n。凡是f(n)可能和f(n-1)相等,也可能和f(n-2)相等的都应该想到动态规划。

分治法好像一般是对称的分,比如把n规模的分为两个n/2规模的,其实分成n-1和1的规模的也可以啊。


原创粉丝点击