戳我進原題
題意:
給定乙個長度為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會在輸入中給出。在給定條件下,計算圍起區域內每塊地包含的牛...