石子合併問題 直線版(矩陣相乘)

2021-08-04 23:46:25 字數 574 閱讀 4735

一條直線上擺放著一行共

n堆的石子。現要將石子有序地合併成一堆。規定每次只能選相鄰的兩堆合併成新的一堆,並將新的一堆石子數記為該次合併的得分。請編輯計算出將

n堆石子合併成一堆的最小得分和將

n堆石子合併成一堆的最大得分。

input

輸入有多組測試資料。

每組第一行為n(n<

=100),表示有n堆石子。

二行為n個用空格隔開的整數,依次表示這n堆石子的石子數量ai(0

output

每組測試資料輸出有一行。輸出將n堆石子合併成一堆的最小得分和將n堆石子合併成一堆的最大得分。

中間用空格分開。

sample input 3

1 2 3

sample output

9 11

題意:兩兩堆數相加求最大分堆與最小分堆

題解:並相鄰的兩堆石子相當於矩陣連乘問題

#include#include#define inf 0x3f3f3f3f

#define max(a,b)a>b?a:b

#define min(a,b)a

HRBUST 1818 石子合併問題 直線版

一條直線上擺放著一行共n堆的石子。現要將石子有序地合併成一堆。規定每次只能選相鄰的兩堆合併成新的一堆,並將新的一堆石子數記為該次合併的得分。請編輯計算出將n堆石子合併成一堆的最小得分和將n堆石子合併成一堆的最大得分。輸入有多組測試資料。每組第一行為n n 100 表示有n堆石子。二行為n個用空格隔開...

詳解動態規劃石子合併問題 直線型, 環形

在乙個圓形操場的四周擺放n堆石子,現要將石子有次序地合併成一堆.規定每次只能選相鄰的2堆合併成新的一堆,合併的花費為這相鄰兩堆之和 試設計出1個演算法,計算出將n堆石子合併成1堆的最小花費和最大花費.輸入輸出格式 輸入格式 資料的第1行試正整數n,1 n 100,表示有n堆石子.第2行有n個數,分別...

石子合併問題

在乙個圓形操場的四周擺放著n堆石子。現要將石子有次序地合併成一堆。規定每次只能選相鄰的2堆石子合併成新的一堆,並將新的一堆石子數記為該次合併的得分。試設計乙個演算法,計算出將n堆石子合併成一堆的最小得分和最大得分。分析 假設有n堆石子需要合併,可以設計乙個2 n 1個元素的陣列來儲存每堆石子的個數。...