BZOJ1426 收集郵票 期望

2022-05-21 17:30:14 字數 691 閱讀 3526

【bzoj1426】收集郵票

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

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

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

321.25

題解:設s[i]表示已經有了i種郵票還需要的郵票數,f[i]表示還需要的錢數。

那麼我們倒著推,每次買乙個郵票的狀態轉移為:

s[i]=s[i+1]*(n-i)/n+s[i]*i/n+1

移項,得

s[i]=s[i+1]+n/(n-i)

又有f[i]=(f[i+1]+s[i+1]+1)*(n-i)/n+(f[i]+s[i]+1)*i/n

移項f[i]=f[i+1]+s[i+1]+s[i]*i/(n-i)+n/(n-i)

我當時凝思了半天才想明白答案不是s[0]*(s[0]+1)/2 ~~~

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

int main()

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

return 0;

}

BZOJ 1426 收集郵票 期望DP

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

bzoj 1426 收集郵票 期望dp

1426 收集郵票 time limit 1 sec memory limit 162 mb submit 392 solved 319 submit status discuss description 有n種不同的郵票,皮皮想收集所有種類的郵票。唯一的收集方法是到同學凡凡那裡購買,每次只能買一張...

BZOJ1426 收集郵票(期望dp)

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