話不多說,上題:
該題正解區間dp,什麼是區間dp呢,可以用這道題來來說明:用dp[i][j]表示從i到j的最大值。
和其他題有點不同的是:這道題需要求乙個環的最大值,其他的就是很普通的區間dp了。
#include
using
namespace
std;
int a[205],n;
int f[1005][1005];
int ans=-1;
int main()
a[0]=a[n];
for(int i=1;i2;i++)}}
for(int i=1;i<=n;i++)
cout
0;}
最後講乙個黑科技:有時候題一直錯的時候可以給迴圈的開始,退出條件多試試幾個值可能沒準哪一步就對了。。。 NOIP2006 提高組 能量項鍊
首先,我們肯定要把每個珠子都聚合是能量最大的基礎,而對於這個環,我們可以在輸入時預處理成這個樣子 1 2 3 4 1 2 3 然後發現這個環的所有遍歷情況變得很簡單 以某個為起點,向後取n個就行 現在,我們只要發現這是個區間dp就行了 f i j 表示,從 i 到 j 這個區間內聚合的最大值 對於每...
NOIP2006(能量項鍊)
program energy var n,m longint head,tail array 1.200 of longint head i 與tail i 分別表示第i個珠子的頭標記與第i個珠子的尾標記。f array 1.200,1.200 of longint f i,j 表示從第i個珠子到第...
NOIP 2006 能量項鍊
洛谷傳送門 jdoj傳送門1 jdoj傳送門2 在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars...