BZOJ 1426 收集郵票 數學期望 DP

2022-05-08 12:51:12 字數 1180 閱讀 6699

有n種不同的郵票,皮皮想收集所有種類的郵票。唯一的收集方法是到同學凡凡那裡購買,每次只能買一張,並且

買到的郵票究竟是n種郵票中的哪一種是等概率的,概率均為1/n。但是由於凡凡也很喜歡郵票,所以皮皮購買第k

張郵票需要支付k元錢。現在皮皮手中沒有郵票,皮皮想知道自己得到所有種類的郵票需要花費的錢數目的期望。

一行,乙個數字n,  n<=10000

要付出多少錢. 保留二位小數

題解: 

挺神的一道期望 $dp$.

令 $f_$ 表示已經有 $i$ 種不同的郵票,還需購買的期望次數.

令 $g_$ 表示已經有 $i$ 種不同的郵票,還需花的期望錢數.

先考慮 $f_$ 怎麼求.

依據定義,不難得知 $f_=0$.

而 $f_=p(沒抽到新的)\times 次數 + p(抽到新的)\times 次數$.

即 $f_=\frac\times(f_+1)+\frac\times(f_+1)$.

整理,得 $f_=\frac+f_$.

再考慮 $g_$

$g_=(g_+1+f_)\times\frac+(g_+1+f_)\times\frac$.

考慮一下具體含義:

依據題目,抽到第 $k$ 張牌的代價為 $k$ 元.

總代價與抽到卡牌的順序是無關的.

我們就可以預設當前抽到的卡牌代價是 $1$ 元,後面的卡牌依次排開.

考慮未抽到新卡牌的情況:

已經有 $i$ 種牌到終止局面的代價為 $f_$,抽到當前卡牌的代價已被我們定義為 $1$. 代價是乙個依次加 $1$ 的數列,等同於當前局面

到達 $f_$ 後,每張卡牌的代價都要比原來多 $1$.

而根據我們定義的方程,已有 $i$ 張後,我們期望抽的次數是 $f_$.

那麼,對於 $f_$ 張卡片,每張的**都加 $1$ 即可.

對於 $g_$ 的情況同理即可.

$g_=(g_+1+f_)\times\frac+(g_+1+f_)\times\frac$,整理一下即可. 

#include using namespace std; 

double n,f[10010],s[10010];

int main()

printf("%.2f",f[0]);

return 0;

}

BZOJ 1426 收集郵票

題目 1426 收集郵票 time limit 1 sec memory limit 162 mb description 有n種不同的郵票,皮皮想收集所有種類的郵票。唯一的收集方法是到同學凡凡那裡購買,每次只能買一張,並且買到的郵票究竟是n種郵票中的哪一種是等概率的,概率均為1 n。但是由於凡凡也...

BZOJ 1426 收集郵票

有n種不同的郵票,皮皮想收集所有種類的郵票。唯一的收集方法是到同學凡凡那裡購買,每次只能買一張,並且買到的郵票究竟是n種郵票中的哪一種是等概率的,概率均為1 n。但是由於凡凡也很喜歡郵票,所以皮皮購買第k張郵票需要支付k元錢。現在皮皮手中沒有郵票,皮皮想知道自己得到所有種類的郵票需要花費的錢數目的期...

bzoj 1426 收集郵票

f i 當前已擁有i種郵票,還需要買的郵票數的期望值。g i 當前已擁有i種郵票,還需要的錢的期望值。每張郵票初始都是1元錢,每買一張郵票,還沒購買的郵票每張都漲價1元。f i 1 n i n f i 1 i n f i f i f i 1 n n i g i 1 n i n g i 1 f i 1...