1426 收集郵票

2022-05-03 09:33:14 字數 880 閱讀 4151

time limit: 1 sec  memory limit: 162 mb

submit: 334  solved: 269

[submit][status][discuss]

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

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

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

321.25

用f[i]表示已經擁有了i張郵票,則期望還需要購買的郵票數

則f[n]=0

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

整理得f[i]=f[i+1]+n/(n-i);

設g[i]為還需要的錢

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

因為可以視為這張票是1元買的,而後面的每張票都貴了1元

所以要加上f[i+1]或f[i]

然後化簡得g[i]=g[i+1]+f[i+1]+i/(n-i)*f[i]+(n/(n-i))

摘自hzwer

#includeusing

namespace

std;

typedef

double

real;

#define af ((real)n/(real)(n-i))

const

int n=1e5+5

;real f[n],g[n];

intmain()

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...