博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二维动态规划(2)
阅读量:5264 次
发布时间:2019-06-14

本文共 489 字,大约阅读时间需要 1 分钟。

给一个n*n的矩阵,矩阵每个元素的值为非负整数。

现在要从左上角走到右下角,只能向右或向下走。

找出两条路径, 使他们所经过的点的和最小。

使用二维动态规划:

状态转移方程:

dp[x][y][i][j]表示第一条路径走到x,y点,第二条路径走到i,j点的最大值。O(n^4)

dp[x][y][i][j]=max(dp[x-1][y][i-1][j], dp[x][y-1][i-1][j],dp[x-1][y][i][j-1], dp[x][y-1][i][j-1])+A[x][y] +a[i][j];(x==i,y==j需要特殊处理)

 

优化:dp[x][y][z]表示第一条路径水平走x不,第二条路径水平走y步,两条路径总步数为z时的最大路径和。O(n^3)

dp[x][y][z]=max(dp[x][y-1][z-1], dp[x-1][y][z-1], dp[x-1][y-1][z-1])+A[x][z-x]+A[y][z-y];

 

转载于:https://www.cnblogs.com/mfryf/archive/2012/10/14/2723455.html

你可能感兴趣的文章
ucgui汉字库存放到外部的flash(控件可用)及写外部FLASH小软件
查看>>
SpringBoot学习笔记
查看>>
pat1087. All Roads Lead to Rome (30)
查看>>
json上传github
查看>>
iOS-程序启动原理和UIApplication
查看>>
SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器...
查看>>
git的安装
查看>>
mysql 8.0 zip包安装
查看>>
Spring框架系列(三)--Bean的作用域和生命周期
查看>>
springboot + mybatis
查看>>
awk 统计
查看>>
CSS min-height 属性
查看>>
SDN第一次作业
查看>>
修改ip地址
查看>>
[zz]kvm环境快照(snapshot)的使用方法
查看>>
Linux下使用Git命令及Github项目
查看>>
红米note3Toast不显示问题
查看>>
用Visio工具对实体类进行UML建模
查看>>
synchronized 锁优化
查看>>
dubbo服务运行的三种方式
查看>>