434
社区成员
发帖
与我相关
我的任务
分享1.请按照如下格式书写动态规划方程:
(1)状态表示:首先,用a[n][n]数组来表示经过每一个格子的价格,m[i][j]表示到每一个格子的最低总价格,则m[i][j]=a[i][j]+min(m[i-1][j],m[i][j-1]),即到达第i行第j列格子最低价和到达正上方和左方格子最低价有关。
(2)状态方程:
m[0][j]=m[0][j-1]+a[0][j];//0<j<n,j从0到n-1
m[i][0]=m[i-1][0]+a[i][0];//0<i<n,i从0到n-1
m[i][j]=a[i][j]+min(m[i-1][j],m[i][j-1])
(3)边界条件:
//0<j<n,j从0到n-1
//0<i<n,i从0到n-1
(4)时间、空间复杂度分析
时间复杂度:由于每次循环都能填一个格子,故为o(n**2)
空间复杂度:同理,o(n**2)
2.感觉对动态规划越来越熟悉了,非常好