题目描述:
桌子上摆列着n堆石子。你需要把每堆石子合成一堆新的大沙堆。规定,每次只能取相邻的石碓合成新的一堆,并将新的一堆的石子数记为该次合并的得分。问:这n堆石子合并成一堆时的最小得分。
这是一道经典的动态规划类题目,关键是数据很小,以至于3重循环的时间都轻轻松松,需要注意的是转移方程需要理解一下:
例如,f[i,j]表示的是把第i堆到第j堆内所有的石头合并成一堆的最优值。
f[i,j]=min{f[i,k]+f[k+1,j]+s[j]-s[i-1]
题目描述:
桌子上摆列着n堆石子。你需要把每堆石子合成一堆新的大沙堆。规定,每次只能取相邻的石碓合成新的一堆,并将新的一堆的石子数记为该次合并的得分。问:这n堆石子合并成一堆时的最小得分。
这是一道经典的动态规划类题目,关键是数据很小,以至于3重循环的时间都轻轻松松,需要注意的是转移方程需要理解一下:
例如,f[i,j]表示的是把第i堆到第j堆内所有的石头合并成一堆的最优值。
f[i,j]=min{f[i,k]+f[k+1,j]+s[j]-s[i-1]