在不存在的 \(\text\) 中,小 \(\text\) 見到了一堆堆的謎題。
比如這題為什麼會叫共軛?
他並不知道答案。
有 \(n\) 堆謎題,每堆有 \(a_i\) 個,小 \(\text\) 每次從剩下的謎題中選擇\(1\)個,然後把\(\tt\)所在的那\(1\)堆謎題
全部丟掉。
小 \(\text\) 期望多少次後丟掉第一堆?
第一行乙個整數 \(n\)。
接下來 \(n\) 個整數,表示 \(a_i\)。
乙個數表示期望,誤差不得超過 \(10^\)。
對於 \(20\%\) 的資料, \(n ≤ 10\)。
對於 \(40\%\) 的資料, \(n ≤ 1000\)。
對於另外 \(20\%\) 的資料, \(a_i = 1\)。
對於 \(100\%\) 的資料, \(n ≤ 10^5,1 ≤ a_i ≤ 10^9\)。
算是積累了一種期望的思考與做題方式了。
期望的定義是:每個隨機事件的概率 \(\times\) 這個隨機事件的貢獻 的和,要求所有隨機事件交為要求的樣本空間。
這個題,我們常見的劃分隨機事件是按照條件概率乙個乙個選擇然後進行討論的,但是這樣其實沒法進行計算。
如果我們規定這樣一種隨機事件:丟掉第\(i\)堆謎題在丟掉第\(1\)種謎題之前的事件。
那麼在任何情況下,這種事件的概率都為\(\frac\)
這種隨機事件對期望的貢獻是\(1\),即\(i\)被抽取了\(1\)次,然後我們最後一次還要抽取一次\(1\),所以答案要加\(1\),則為
\[sum_^n\frac+1
\]期望可以這樣算的原因主要還是因為期望具有可加性或者說期望是線性的
code:
#include #define rep(i,a,b) for(int i=a;i<=b;i++)
int n;double ans,a[2];
int main()
2018.10.24 Block Voting 解題報告
這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...
Safebreaker 解題報告
又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...
路由 解題報告
路由 問題描述 有乙個tcp ip網路 每台計算機都有乙個或多個網路介面。每個介面根據它的ip位址和子網掩碼來識別 即兩個4位元組的數,兩個字 節之間有乙個 號.子網掩碼有乙個二進位制表示法 有k個 1 然 後是 m 個 0 k m 8 4 32 如 212.220.35.77 是乙個 ip 地 址...