格子取数问题

题目详情:有n*n 个格子,每个格子里有正数或者0,从最左上角往最右下角走,只能
向下和向右,一共走两次(即从左上角走到右下角走两趟),把所有经过的格子的数加起来,
求最大值SUM,且两次如果经过同一个格子,则最后总和SUM 中该格子的计数只加一次。

方法一:

参考《编程艺术三十四章》
时间复杂度是O(n^3)
http://blog.csdn.net/rowanhaoa/article/details/15816067
将其称为双线程动态规划问题,感觉这个概念很不错

方法二:

http://www.360doc.com/content/13/1127/17/14357424_332618655.shtml
这个方法时间复杂度是O(n^4),虽然稍差,但容易理解

你可能感兴趣的:(编程艺术,一)