貪心 Jzoj P4249 遊戲

2022-07-24 05:45:16 字數 773 閱讀 8009

description

wyf從小就愛亂頂,但是頂是會造成位移的。他之前水平有限,每次只能頂出k的位移,也就是從乙個整點頂到另乙個整點上。我們現在將之簡化到數軸上,即從 乙個整點可以頂到與自己相隔在k之內的數軸上的整點上。現在wyf的頭變多了,於是他能頂到更遠的地方,他能頂到任意整點上。現在他在玩乙個遊戲,這個遊 戲裡他只能向正方向頂,同時如果他從i頂到j,他將得到a[j] * (j - i)的分數,其中a[j]是j點上的分數,且要求j > i, 他最後必須停在n上。

現給出1~n上的所有分數,原點沒有分數。他現在在原點,沒有分。wyf想知道他最多能得多少分。

input

第一行乙個整數n。

第二行有n個整數,其中第i個數表示a[j]。

output

乙個整數,表示wyf最多能得到的分數。

sample input

3

1 1 50

sample output

150

data constraint

對於60%的資料,n<=1000;

對於100%的資料,n<=100000,0<=a[j]<=50。

1 #include 2 #include 3

#define n 100010

4using

namespace

std;

5int

n,ans,l,a[n],mx[n];

6int

main()

7

jzoj4249 遊戲 貪心

0 n 0 sim n 0 n的點,從i ii移動到j jj獲得aj j i a j j i aj j i 的價值。求最大價值。考慮貪心,每次移動到往後a ia i ai 最大的點。證明 反證明 我們假設有一種情況i ij a jaj 但是之間移動到j jj比先移動到i ii更優。但是若我們先移動到...

JZOJ4249 遊戲 貪心

乙個長度為n n的數列,每次可以選擇前面任意乙個位置i i跳到那裡,價值為ai i a i i 你所在的位置 求跳到n n的最大價值。證明 每次選擇max max 其中j j 表示你所在的位置。先設起點是0。那麼假設i i是最大價值的點,但是最優解應該先跳到j j,且下一次將跳到k k,且j i i...

JZOJ4249 遊戲 貪心

乙個長度為n n的數列,每次可以選擇前面任意乙個位置i i跳到那裡,價值為ai i a i i 你所在的位置 求跳到n n的最大價值。證明 每次選擇max max 其中j j 表示你所在的位置。先設起點是0。那麼假設i i是最大價值的點,但是最優解應該先跳到j j,且下一次將跳到k k,且j i i...