洛谷p2858 奶牛零食

2022-05-23 08:39:07 字數 785 閱讀 2244

點我這是什麼,區間dp嗎?怎麼大佬都在說區間dp的樣子

完蛋區間dp都不知道是啥quq

於是使用了玄學的姿勢a過了這道題

dp[i][j][0]表示第i天,左邊選了j個,當前選擇了左邊的最大價值方案,dp[i][j][1]表示從右邊選

(其實第三維好像不用,但我還是記錄了一下……這個思路和洛谷題解裡面有一篇差不多,那個就是沒記左右的,可以去看一下)

那麼很容易得到狀態轉移方程:

(其中a是題目所給陣列)

最後ans=max(f[n][i][0],f[n][i][1])(0<=i<=n)

注意第二維要從0開始列舉,因為有可能最開始就取右邊的

#includeusing namespace std;

inline int read()

while(isdigit(c))

return cnt*f;

}int n,a[2005];

int f[2005][2005][2];

int main()

int ans=-1;

for(register int i=1;i<=n;i++)

printf("%d",ans);

return 0;

}

區間DP 洛谷P2858牛奶零食

題目鏈結 題意 你有n個貨物從1 n依次排列,每天可以從兩側選乙個出來賣,賣的 是當天的天數乘該貨物的初始 問這批貨物賣完的最大 輸入 第一行n,之後是n個貨物的初始價值 這道題不能用貪心做,因為可能存在右端點非常大,但其左邊的數非常小,但因為右端點太大而沒被及時賣出 如 9 9 9 1 1 10 ...

P2858 USACO06FEB 奶牛零食

約翰經常給產奶量高的奶牛發特殊津貼,於是很快奶牛們擁有了大筆不知該怎麼花的錢 為此,約翰購置了n 1 n 2000 份美味的零食來賣給奶牛們 每天約翰售出乙份零食 當然約翰希望這些零食全部售出後能得到最大的收益 這些零食有以下這些有趣的特性 零食按照1 n編號,它們被排成一列放在乙個很長的盒子裡 盒...

USACO習題 奶牛零食

算是一道區間dp的水題,很容易設計出狀態dp i j 表示 i,j 所能產生的最大價值,那麼有dp i j max dp i 1 j v i n l 1 dp i j 1 v j n l 1 注意,這裡相當於將元素新增到序列中,因此最先加入的反而是 較晚的,同時,不難得出初始邊界,dp i i n ...