這是石子歸併的加強版,基本就是分治法的dp。但是有了個環,因為任何乙個位置都可開始,所以就建立2*n的陣列,然後對可能的區間遍歷一次,就是o(n^3)的複雜度。
中間錯誤的地方有:
# 把dp(i,j)錯誤寫成f[i][j]
# k不能等於i,也不能等於j
# 把a[i]*a[k]*a[j]錯寫成i*k*j
#include #include #include #include #define max(a, b) a>b?a:b#define len 105
using namespace std;
int a[len*2];
int f[len*2][len*2];
int n;
void init()
for (int i = 1; i <= n*2; i++)
}}
int dp(int i, int j)
if (i == j || i+1 == j) return 0;
int max = 0;
for (int k = i+1; k <= j-1; k++)
f[i][j] = max;
return max;}
int main()
printf("%d\n", ans);
return 0;
}
1154 能量項鍊
題目描述 description 在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars人吸收能量的一...
(動態規劃)能量項鍊
題目描述 在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars人吸收能量的一種器官 的作用,這兩顆珠...
區間dp 能量項鍊
在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars人吸收能量的一種器官 的作用,這兩顆珠子才能聚合...