資料結構 三分 概率

2021-10-13 23:11:45 字數 1179 閱讀 8367

有乙個人,做乙個烟花需要n分鐘,做的好的概率是p * 0.0001,點燃一次烟花需要m分鐘(不管有多少個烟花),如果點燃的烟花中有乙個好的,就停止做烟花,否則就繼續練習,問最少需要多長的練習時間??

輸入第一行乙個t,代表t組樣例

接下來的t行,每一行輸入n,m,p

輸出最小的練習時間輸入3

1 1 5000

1 1 1

1 2 10000

輸出4.0000000000

10141.5852891136

3.0000000000

首先先來說明,每一次都是生產相同數量點燃。

原因:這是需要最優策略。假設k=9是最優策略,那麼就要一直選擇9進行燃燒。

所以對於每次進行的燃燒,都要等到生產了k(9)個時才能進行一塊點燃。

假設每k個釋放一次,那麼成功的概率為1-(1-p)^k(p=p*1e-4)。

釋放幾次後可以得到完美的期望------幾何分布:

幾何分布:離散型概率分布。其中一種定義為:在n次伯努利試驗中,

試驗k次才得到第一次成功的概率。詳細的說,是:前k-1次皆失敗,

第k次成功的概率。

期望e(x)=1/p;(概率**式,不再贅述)

所以可以得

f(k)=e(x)(kn+m) = (k*n+m)/[1-(1-p)^k]。

尋找最優解,最小值。猜測是開口向上的拋物線—驗證,

測試1-10000的k看資料變化。 驗證------三分答案:

#include

using

namespace std;

typedef

long

long ll;

const

int maxn =

2e5+5;

double n,m,p;

double

qpow

(double a,

int b)

return res;

}doublef(

int k)

intmain()

else l = lm +1;

}printf

("%.10lf\n"

,ans);}

return0;

}

資料結構與演算法 11 三分法

求函式的駐點 從高數或者大霧借鑑的思路,只要數值求導即可,加上二分法的思想 如題,給出乙個 n 次函式,保證在範圍 l,r 內存在一點 xx,使得 l,x 上單調增,x,r 上單調減。試求出 x 的值。第一行一次包含乙個正整數 nn 和兩個實數 l,r 含義如題目描述所示。第二行包含 n 1個實數,...

資料結構基本概率

基本概率啥的就不搬書上的了,主要寫寫我自己的體會。資料結構 我覺得資料結構是一種人為精心選擇的儲存資料的方式,用以解決現實生活中資料間的複雜關係,我們學習的棧,佇列等只是資料結構的基礎,根據實際題目等可以選取便利的資料結構,甚至自己拼湊 修改出乙個最適合的資料結構。總而言之,我認為資料結構是儲存資料...

資料結構 排序 快速排序的優化(三分取中法實現)

優化一 當待排列序列的長度分割到一定大小時,使用插入排序 原因 對於很小和部分有序的陣列,快排不如插入排序好。當待排序序列的長度分割到一定大小後,繼續使用分割的效率比插入排序要差 但是三分取中 插入排序還不能處理重複陣列 優化二 聚集相同基準法 處理重複的陣列元素 原因 在一次分割結束後,可以把與p...