我真的是服了,看了一晚上發現居然,,,,,
對於結果來說,不一定要列舉有序數列,感覺這是一種猜結果的方法,只不過特別精確,令人髮指
#include#include#include#include#define maxn 110000#define inf 0x3f3f3f3f
using namespace std;
double list[maxn];
double s[maxn];
int f, n;
double l, r;
int check(double mid)
double mi = 1e8;
double mx = -1e8;
for (int i = f; i <= n; i++)
if (mx <= 0)
else return 1;
return 0;
}int main()
l = -1e6;
r = 1e6;
double mid;
while(r-l>1e-5)
else
} printf("%d\n", (int)(r*1000));
return 0;
}
AcWing 102 最佳牛圍欄(二分答案)
題意 給乙個長度為n的序列,選取一段大於等於k的子串行,求可能子串行的最大平均值。思路 首先答案是可以二分的,每次二分去判斷是否有可行解。然後就是怎麼寫二分的check了,區間的平均數大於當前所要判斷的平均值等價於區間每個數減去平均值後區間和大於0,然後寫個雙指標,維護前序最小的字首。int n,l...
瘋牛(二分列舉)
描述 農夫 john 建造了一座很長的畜欄,它包括n 2 n 100,000 個隔間,這些小隔間依次編號為x1,xn 0 xi 1,000,000,000 但是,john的c 2 c n 頭牛們並不喜歡這種布局,而且幾頭牛放在乙個隔間裡,他們就要發生爭鬥。為了不讓牛互相傷害。john決定自己給牛分配...
hdu 5265 二分 列舉
解題思路 首先對每個數進行去模,這樣得到的數就會是 0,p 1 的範圍,接下來就是如何組合的問題了。這裡要考慮到模的性質了,假設取的兩個數分別為i,j,其中i j,如果當前數i p 1 2,那麼就會出現兩種情況 1 j p 1 2,這樣算出來的結果必定是i j p,i和j肯定都要盡可能大 2 j p...