runningdark2012-10-25 19:49:17
momser: 学习了
我在gcc上跑了一下,应该有14种取法吧,每个珠子开头都可以算出一个最小值
我跑出来是从1-13只有13个,哪里出了点小问题呢?.....
这题当时做的不顺, 一直也没想出特好的算法,所以才没写解释。
end[0] = getfirstvalue(input,n);
这句算出了第一个珠子起头的最小值,没有输出。动态规划总是要有第一个初始值,才能继续后续递推,所以这个并不在循环内。循环是从i=1开始的。
我自己总觉得end[0]这步很多余但是也想不到其他办法。囧。另外你提醒我了确实有一步错误minlen的初始值不对。现在我更新下。