bzoj 1426 收集郵票(概率期望dp)

2021-08-17 15:57:35 字數 1549 閱讀 9702

time limit: 1 sec memory limit: 162 mb

submit: 551 solved: 460

[submit][status][discuss]有n

n

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

買到的郵票究竟是

n' role="presentation" style="position: relative;">n

n種郵票中的哪一種是等概率的,概率均為1n

1

n。但是由於凡凡也很喜歡郵票,所以皮皮購買第

k k

張郵票需要支付

k' role="presentation" style="position: relative;">k

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

一行,乙個數字n,

n<=

10000

n ,n

<=

10000

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

sample input

3
sample output
21.25
收集郵票

水水的期望概率,好像挺簡單的。這道題值得理解的就是,dp方程是可以移項的,不影響正確性。fi

f

i表示已經買了i張不同的郵票,買全所有郵票的期望購買次數gi

g

i表示已經買了i張不同的郵票,買全所有郵票的期望花費fi

=fi∗

in+f

i+1∗

n−in

+1; fi=

fi∗i

n+fi

+1∗n

−in+

1;

gi=(gi+

fi)∗

in+(

gi+1

+fi+

1)∗n

−in gi=

(gi+

fi)∗

in+(

gi+1

+fi+

1)∗n

−i

n移項可得:fi

=fi+

1+nn

−i;g

i=fi

∗nn−

i+gi

+1f i=

fi+1

+nn−

i;gi

=fi∗

nn−i

+gi+

1這tm確實是對的

#include

#include

#include

#include

using

namespace

std;

double f[10005],g[10005];

int n;

int main()

printf("%.2f",g[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...