【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元錢。現在皮皮手中沒有郵票,皮皮想知道自己得到所有種類的郵票需要...