luogu P1063 能量項鍊

2022-06-18 16:12:10 字數 605 閱讀 2938

設dp(l,r)為區間l~r得到的最大能量,然後列舉中間值k,可以列出狀態轉移方程:

\[dp[l][r]=max dp[l][k]+dp[k][r]+val[l]*val[k]*val[r] }

\]為了避免邊界的取模操作,我們可以任意位置斷開環,並複製乙份到後面去,然後區間dp算出每個長度為n的最優解,答案就是:max(dp(i,i+n))。

#include#include#include#define maxn 101

using namespace std;

long long dp[maxn<<1][maxn<<1],ans;

int n,val[maxn<<1];

inline int read()

while('0'<=c&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();

return x*f;

}int main()}}

for(register int i=1;i<=n;i++) ans=max(ans,dp[i][i+n]);

printf("%lld\n",ans);

return 0;

}

LUOGU P1063 能量項鍊

題目描述 在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars人吸收能量的一種器官 的作用,這兩顆珠...

luogu P1063 能量項鍊

在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars人吸收能量的一種器官 的作用,這兩顆珠子才能聚合...

LUOGU P1063 能量項鍊

題目描述 在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars人吸收能量的一種器官 的作用,這兩顆珠...