鏈結:
題目
牛牛有 n 堆石子, 每堆石子有 a[i] 個, 牛牛每次可以選擇相鄰的兩堆石子,然後拿走少的那一堆,得到的價值是兩堆石子個數之和, 直到只剩下一堆石子。
如果拿走了第 i 堆石子, 那麼第 i-1 堆和第 i+1 堆 就會相鄰。
牛牛想知道該怎麼拿,才能使得到的價值最多。
輸入
第一行乙個整數 n, 1 ≤ n ≤ 2e5思路補題的時候才發現這題如此的簡單,自己想多了,只是乙個貪心而已。第二行 n 個整數 a[i],0 ≤ a [i] ≤ 1e9
如果想要得到最大值,那麼最後剩下的那堆一定是這n堆裡石子數最多的那堆。
想要最大值,那麼我們只需要多次用上石子數最多的那堆就好了。
比如,1,2,3,4,5
中,每次選兩個數,可以獲得n+m的價值,並去掉兩者中小的那個,如何獲得最大價值?
那我們肯定這樣取:
152
5354
5
這裡可以先停下來思考一下。
剩下的不多說,放**。
伊莉莎白!
//會超int
const
int maxn=
2e5+
100;
ll a[maxn]
;int
main()
for(ll i=
0;i) cout<
}有一點點瑕疵的一天。
牛客小白月賽 30
並查集或者最小生成樹 並查集 include include include include using namespace std typedef long long ll const int maxn 2e 5 int f maxn struct node e maxn bool cmp nod...
牛客小白月賽13 補題(ACDG)
a 通過已經給的 打表找規律,偶數輸出 1,奇數輸出1 includeusing namespace std int main void huaj ll a,ll b int main qianz 0 0 houz n 1 0 qianz 1 mp 1 houz n mp n for i 2 i n...
牛客的小白月賽24補題
沒注意負數取模 呀呀呀呀,打腦殼 保證取模後的結果為正數 x mod mod mod 思路1.挨個嘗試肯定超時 2.就是把平方項展開 a2 b2 2ab 每個平方項的出現次數n 1次 每個2ab形式的和 最後一定注意取余為正數 戳我試試看 include include include includ...