有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子合并为1堆.在合并的过程中只能每次将相邻的两堆石子合并,每次合并的花费为这两堆石子之和,求合并成1堆的最小花费. dp[i][j]表示将区间[i, j]合并成1堆的最小代价. #include<bits/stdc++.h> #define MAX 105 #define INF 0x3f3f3f3f using namespace std; int n,dp[MAX][MAX],sum[MAX]; int main() { while(~…