牛客練習賽63 C

2021-10-07 04:04:16 字數 999 閱讀 8284

lin

klink

link

題意 : 牛牛有一排菜園,長度為n,第 i

ii 塊菜園的菜的高度為a[i

]a[i]

a[i]

。第i

ii天,第i

ii塊菜園的高度會增加1,第n+1

n+1n+

1天第1塊菜園的高度增加1,一次類推。但是牛牛有一種魔法,它可以使得一塊菜園的高度加1,或者減1,問至少需要多少天才能使得所有的菜園高度一致。題目保證開始時,菜園的高度參差不齊。

思路:二分+中位數,可以用二分把要求的問題轉換成判定性的問題,那麼如何判斷x

xx天是否可以呢?我們知道要把所有的高度變成統一高度,跟絕對高度沒有關係,跟相對高度有關係,所以,我們先求出哪些位置的菜園高度相對增加了,然後我們得到乙個新的陣列,我們要求的就是把這個陣列所有元素變成一樣的至少需要多少天,如果這個值小於x,就可以,否則就不行。把陣列中的所有元素變成一樣的就是中位數可以解決的問題。那麼這題就可以寫出來了。

c od

ecode

code

#include

#define ll long long

#define pi pair

#define mk make_pair

#define pb push_back

using namespace std;

const

int maxn =

1e5+10;

int a[maxn]

;int n;

bool ok

(ll x)

if(ans <= x)

return true;

else

return false;

}int

main()

printf

("%lld\n"

,ans)

;return0;

}

牛客練習賽63 C牛牛的揠苗助長 二分

題目 假設有n天,每天,小麥會按照下標依次增長1個單位,第一天第乙個小麥長,第二天第二個小麥,第n 1天第乙個小麥長。牛牛可以在每天操作,使得任意小麥長1單位或減1單位,求最小的n,使得所有小麥都相同長度 首先想到二分,對天數進行二分,然後已知t天,開始對小麥操作 對於cnt t n天,是對前cnt...

牛客練習賽9

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 珂朵莉想每天都給威廉送禮物,於是她準備了n個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...

牛客練習賽15

時間限制 c c 2秒,其他語言4秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 第一次期中考終於結束啦!沃老師是個語文老師,他在評學生的作文成績時,給每位學生的分數都是乙個小於10的非負小數。amy 8.99999999999999999999...