07 2013 档案

摘要:递归分析: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 阅读(266) 评论(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 阅读(409) 评论(0) 推荐(0)
摘要:DescriptionMichael 喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个 区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这... 阅读全文
posted @ 2013-07-29 17:09 little_w 阅读(246) 评论(0) 推荐(0)
摘要:DescriptionA group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with some blocks. If the monkey is clever enough, it shall be able to reach the banana by placing one block on the top 阅读全文
posted @ 2013-07-29 17:01 little_w 阅读(245) 评论(0) 推荐(0)