洛谷 P4995 跳跳! 貪心 2 8

2021-08-31 04:08:04 字數 1441 閱讀 4842

你是乙隻小跳蛙,你特別擅長在各種地方跳來跳去。

這一天,你和朋友小 f 一起出去玩耍的時候,遇到了一堆高矮不同的石頭,其中第 ii 塊的石頭高度為 h_ihi​,地面的高度是 h_0 = 0h0​=0。你估計著,從第 ii 塊石頭跳到第 jj 塊石頭上耗費的體力值為 (h_i - h_j) ^ 2(hi​−hj​)2,從地面跳到第 ii 塊石頭耗費的體力值是 (h_i) ^ 2(hi​)2。

為了給小 f 展現你超級跳的本領,你決定跳到每個石頭上各一次,並最終停在任意一塊石頭上,並且小跳蛙想耗費盡可能多的體力值。

當然,你只是乙隻小跳蛙,你只會跳,不知道怎麼跳才能讓本領更充分地展現。

不過你有救啦!小 f 給你遞來了乙個寫著 ak 的電腦,你可以使用電腦程式幫你解決這個問題,萬能的計算機會告訴你怎麼跳。

那就請你——會寫**的小跳蛙——寫下這個程式,為你 noip ak 踏出堅實的一步吧!

輸入格式:

輸入一行乙個正整數 n,表示石頭個數。

輸入第二行 n 個正整數,表示第 ii 塊石頭的高度 hi​。

輸出格式:

輸出一行乙個正整數,表示你可以耗費的體力值的最大值。

輸入樣例#1

2

2 1

輸出樣例#1

5
輸入樣例#2

3

6 3 5

輸出樣例#2

49
樣例解釋

兩個樣例按照輸入給定的順序依次跳上去就可以得到最優方案之一。

資料範圍

對於 1 \leq i \leq n1≤i≤n,有 0 < h_i \leq 10 ^ 40對於 10\%10% 的資料,n \leq 3n≤3;

對於 20\%20% 的資料,n \leq 10n≤10;

對於 50\%50% 的資料,n \leq 20n≤20;

對於 80\%80% 的資料,n \leq 50n≤50;

對於 100\%100% 的資料,n \leq 300n≤300。

洛咕11月月賽第2題

在剩餘的石頭中最大和最小來回跳,有點像二分答案。貪心,注意要開long long int。

#include #include #include #include using namespace std;

long long int a[301],n,s;//一定要開long long!

int main()

sort(a+1,a+n+1);//排序

int l(0),r(n);//初始化頭位置和尾位置

while(lcout

}

貪心 洛谷P4995 跳跳!

洛谷p4996 跳跳!題 目描 述 color題目描述 題目描述 你是乙隻小跳蛙,你特別擅長在各種地方跳來跳去。這一天,你和朋友小 f 一起出去玩耍的時候,遇到了一堆高矮不同的石頭,其中第 i ii塊的石頭高度為h ih i hi 你估計著,從第 i ii 塊石頭跳到第 j jj 塊石頭上耗費的體力...

洛谷P4995 跳跳!題解

簡單描述一下吧,就是說有n塊石頭,起始可以跳到任何一塊上面,接著也是,只不過每一塊石頭只能跳一次,求耗費的最大的體力 計算方法見鏈結 這道題一看,我們要最大化我們的體力值,說明我們的每一次要盡可能的跳的遠,此時我們就可以採用貪心的思想,把每一次的跳躍體力值最大化,那麼就能得到體力值總和的最大化。先把...

題解 P4995 跳跳!

說實話這個題我一開始想了好久dfs超時得了30可能因為我太弱了 吃得苦中苦方為人上人現在終於a了當然體會更多 1 首先 這是個真的真的貪心題 貪心思路就是每次都從未跳過得最高的 或最低的 跳到最低處 最高處 這樣差值才最大 2 知道貪心思路了就要寫好 qaq 寫法有很多種,像我這種蒟蒻就只會寫這一種...