最佳牛圍欄

2021-10-16 12:21:35 字數 900 閱讀 5836

戳我進原題

題意:

給定乙個長度為n

nn的序列a

aa,以及乙個長度len

lenle

n。問在這個序列a

aa中,可以找到的長度至少為len

lenle

n的連續子串行的最大平均值為多少。

資料範圍:1≤n

≤105

1\leq n\leq 10^5

1≤n≤10

5題解:

二分答案。

每次二分的答案為mid

midmi

d,則考慮每次對每個元素減去mid

midmi

d後求字首和,然後看是否可以找到乙個長度至少為len

lenle

n,且和大於等於0

00的區間。

**:

#include

#include

#include

using

namespace std;

const

int n =

1e5+10;

const

double eps =

1e-5

;int a[n]

, n, len;

double b[n]

;bool

check

(double mid)

return

false;}

intmain()

printf

("%d\n"

,int

(r *

1000))

;return0;

}

最佳牛圍欄 題解

題目描述 農夫約翰的農場由 n 塊田地組成,每塊地里都有一定數量的牛,其數量不會少於1頭,也不會超過2000頭。約翰希望用圍欄將一部分連續的田地圍起來,並使得圍起來的區域內每塊地包含的牛的數量的平均值達到最大。圍起區域內至少需要包含 f 塊地,其中 f 會在輸入中給出。在給定條件下,計算圍起區域內每...

acwing102 最佳牛圍欄

傳送門 二分答案,check函式主要方法就是,把所有的a i 先減去x,如果區間和是大於等於0的,也就是說這個區間的平均數大於x,從f開始,記錄前面的最小值,然後檢視是否存在答案。include using namespace std typedef long long ll define eps ...

最佳牛圍欄 字首和,二分

農夫約翰的農場由 n 塊田地組成,每塊地里都有一定數量的牛,其數量不會少於1頭,也不會超過2000頭。約翰希望用圍欄將一部分連續的田地圍起來,並使得圍起來的區域內每塊地包含的牛的數量的平均值達到最大。圍起區域內至少需要包含 f 塊地,其中 f會在輸入中給出。在給定條件下,計算圍起區域內每塊地包含的牛...