題目
假設有n天,每天,小麥會按照下標依次增長1個單位,第一天第乙個小麥長,第二天第二個小麥,第n + 1天第乙個小麥長。
牛牛可以在每天操作,使得任意小麥長1單位或減1單位,求最小的n,使得所有小麥都相同長度
首先想到二分,對天數進行二分,然後已知t天,開始對小麥操作
對於cnt = t % n天,是對前cnt個小麥會獨自長高1個單位,整體長高t / n個單位,不考慮
那麼對於一組數,求最小操作次數,使得每個數字都相同,可以想到對把每個數字變成平均值的次數和,就是最小操作次數
那麼先排序,排求出每個數字到平均值的差的絕對值,觀察這個值就是牛牛操作的次數,和t天那個大即可
如果牛牛操作的次數小於天數,那麼這個天數可行,r = mid,否則,這個天數不行,l = mid + 1
#include #include #include #include #define ll long long
using namespace std;
const int n = 1e5 + 5;
ll a[n], n;
bool check(ll xx)
int main()
cout << l << endl;
return 0;
}
牛客練習賽63 牛牛的揠苗助長 二分)
題目傳送門 牛牛有一塊長度大小為n的菜園,他首先對這塊菜園從1到n進行了編號,每一塊地分別為1號 2號 n號菜地,然後他往每塊菜地中都種下了一些水稻,一開始,第i塊菜地中的水稻高度均為a i 個單位。然後我們知道水稻的生長週期都是n天,也就是說每逢n天水稻就會長高乙個單位。但是不巧的是整個菜園中每一...
牛客練習賽63 C
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,問至少需要多少天才...
牛客練習賽63 B牛牛的魚缸
題目描述 牛牛有乙個長為l,寬為1,高為h的魚缸,現在他想要在魚缸中盛一些水。他想要知道這個魚缸最多能夠放多少水。當然這個問題太過於簡單,所以牛牛將這個魚缸放到了乙個長為l,高為h的斜坡上面,如圖所示,魚缸寬度為1的這條邊緊緊靠在斜坡與地面的交界線上。在不允許移動魚缸與斜坡的情況下。魚缸最多能夠放多...