日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UOJ449. 【集训队作业2018】喂鸽子 [概率期望,min-max容斥,生成函数]

發布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UOJ449. 【集训队作业2018】喂鸽子 [概率期望,min-max容斥,生成函数] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UOJ

思路

由于最近養成的不寫代碼的習慣(其實就是懶),以下式子不保證正確性。

上來我們先甩一個min-max容斥。由于每只鴿子是一樣的,這只貢獻了\(O(n)\)的復雜度。

現在的問題轉化為對于\(n\)只鴿子里面的\(c\)只鴿子,求喂飽其中一只鴿子的期望時間。

我們對期望的式子差分一下,變成統計經過\(i\)秒之后\(c\)只鴿子仍然一只都沒有被喂飽的概率。

枚舉這\(i\)秒里面有\(s\)秒喂到了,設\(f_{c,s}\)表示給\(c\)只鴿子喂了\(s\)粒玉米,一只都沒有飽的概率,我們得到
\[ ans_c=\sum_i \sum_{s=0}^i {i\choose s} (\frac {n-c} n)^{i-s}f_{c,s} \]
(上式的\((\frac{c}{n})^s\)被塞進\(f_{c,s}\)里面了)

由于\(s> c(k-1)\)的時候\(f\)必然為0,所以可以得到
\[ ans_c=\sum_{s=0}^{c(k-1)} f_{c,s} \sum_i {i+s\choose s} (\frac{n-c}{n})^i \]
后面那一項很像\(\frac 1 {(1-x)^{s+1}}\)的展開式,可以快速得到,所以問題就轉化為求\(f_{c,s}\)

我們有一個暴力DP的式子:
\[ f_{c,s}=\sum_{i<k} f_{c-1,s-i}{s\choose i} \frac 1 {n^i} \]
顯然可以轉換成卷積的形式用NTT優化,最后總復雜度\(O(n^2k\log k)\)

我們還有另一種做法。把概率變成方案數,我們設\(f_{c,s}\)表示給\(c\)只鴿子喂了\(s\)粒玉米,一只都沒有飽的方案數。再設\(f_c(x)\)表示這個東西的指數生成函數。

容易發現,求\(f_c(x)\)其實就等價于求\((\sum_{i=0}^k \frac{x^i}{i!})^c\)

然后是一個神奇操作:

(orz daklqw)

(daklqw說是從yhx-12243那里學的,所以兩個都要orzorz)

于是就\(O(n^2k)\)做完了。

代碼

咕咕咕

轉載于:https://www.cnblogs.com/p-b-p-b/p/11614314.html

總結

以上是生活随笔為你收集整理的UOJ449. 【集训队作业2018】喂鸽子 [概率期望,min-max容斥,生成函数]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。