摘要:
递归分析:d[i][j]=max{d[i+1][j]+v[i+1][j],d[[i+1][j+1]+v[i+1][j+]}//这里已经不是单线程的问题了,所以要用二维坐标表示。所以上从上层节点反回溯到下层节点。递推分析:自下而上。初始化:最底层的节点信息最优子结构:树的每一个节点都是d[i][j]当前最大路径代码:#include#include#define maxn 1000+5using namespace std;int map[maxn][maxn];int dp[maxn][maxn];int main(){ int n;//这是一个n*n的数塔 cin>>n; for 阅读全文
posted @ 2013-07-30 12:55
little_w
阅读(248)
评论(0)
推荐(0)
摘要:
一、装配线调度问题详细的证明和分析在《算法导论》的第193页数据结构:s[0][i],s[1][i]t[0][i],t[1][i]算法:自底而上,递推法.状态转移方程:(哈哈,我自己写的):S[1][i]=min(s[0][i-1]+v[1][i]+t[0][i-1,s[1][i-1]+v[1][i]);边界条件:i==n;赋初值:s[1][1]=start[1]+v[1][1];S[0][1]=start[0]+v[0][1];最终值:max{s[0][n]+end[0],s[1][n]+end[1]};//注意:整个过程是单向的,过程是一步步的,不可逆的..状态:状态(state)表示每个 阅读全文
posted @ 2013-07-30 12:34
little_w
阅读(270)
评论(0)
推荐(0)
摘要:
一、最短通路问题模型分析:不同的城市之间相互有通路:我们要从1城市出发,最终到达n城市,最所走的最短路径,并输出任意最短路径数据结构:邻接矩阵(n*n)算法分析:1、最优子结构:s[i]:存储从最底层到达i点的最短路径。2、递推公式:自下而上:s(i)=max{s(j)+m(i,j)}(j:和i邻接的点)3、边界条件:s[1]=0;//从1点出发,到达1点,路径为0。4、数据存储:Const M : array[1..7, 1..7] of integer = ( //注意:这是单向联通的图 (0, 5 ,2 ,0 ,0 ,0, ... 阅读全文
posted @ 2013-07-30 10:42
little_w
阅读(411)
评论(0)
推荐(0)

浙公网安备 33010602011771号