算法导论15-6

   这是我第一次真正意义上的完成动态规划问题.这个问题,并不难.按照各个步骤进行:

  1.最优子结构.

  2.重叠子问题.

  3.列出状态转移方程.

  4.写出递归式.

  5.构造最优解.

  最主要的,就是状态转移方程的那个步骤.一度让我黯然.好在,后来,自己从"状态转移"这四个字发现了,方法,至少是对于这个问题的方法.从上一个最优子结构出发,看看如何才能构成当前的最优子结构.这样,最终就会构造出原问题的最优解.之后,边界条件之类的,自然就出来了.

  好久没有新东西了,用了2个月的时间学习了C++.现在就是通过写这些东西来熟练使用C++.真不错,真不错,加油.

// ITA15-6.cpp -- 2011-07-04-22.50
//	Completed at 2011-07-06-23.34.
//	It's the greatest cood all of I have cooded!
//	Much konwledge has been mentioned, improve myself.
//	Continue Learning English, for write good note.
#include "stdafx.h"
#include "Chessboard.h"

int _tmain(int argc, _TCHAR* argv[])
{
	Chessboard chessboard(5, 40) ;

	std ::cout << chessboard.calculateMaxWeightValueAndOptimalRoute(0, 2, 4, 3) << std ::endl ;
	chessboard.printOptimalRoute() ;
	std :: cout << std ::endl ;
	std ::cout << chessboard.calculateMaxWeightValueAndOptimalRoute(0, 3, 4, 3) << std ::endl ;
	chessboard.printOptimalRoute() ;

	return 0 ;
}

你可能感兴趣的:(算法)