1.链式归并
问题描述
设有N堆沙子排成一排,其编号为1,2,3,…,N(N<=100)。每堆沙子有一定的数量。现要将N堆沙子并成为一堆。归并的过程只能每次将相邻的两堆沙子堆成一堆,这样经过N-1次归并后成为一堆。找出一种合理的归并方法,使总的代价最小。
【输入格式】
输入由若干行组成,第一行有一个整数,n(1≤n≤100);表示沙子堆数。第2至m+1行是每堆沙子的数量。
【输出格式】
一个整数,归并的最小代价。
【输入样例】
输入文件名:shizi.in
7
13
7
8
16
21
4
18
【输出样例】
输出文件名:

这篇博客探讨了如何使用动态规划解决两种石子归并问题:一是线型排列的石子归并,二是环型排列的石子归并。通过计算不同归并策略的代价,找到最小总代价的解决方案。同时,文中还介绍了算法优化,以提高求解效率。
最低0.47元/天 解锁文章
1525

被折叠的 条评论
为什么被折叠?



