SRM609 DIV2 950

题意:

有三个歌手想制作一个含有S(1<=S<=50)首歌的专辑,其中这三名歌手分别唱x,y,z首歌(0<=x,y,z<=50),每一首歌至少要有一个人唱(可以是其中任一个人、两个人或者三个人的组合),问专辑可能有多少种(不同种类的专辑:两个专辑至少有一首歌是不同组合的歌手唱的)?结果对1000000007取模。

分析:

一个个考虑,先考虑第一位歌手,可能性是\(C(_S^x)\);

在剩余的S-x首歌种,第二位歌手在这剩余的歌中至少唱多少首歌呢?首先要保证至少每首歌有一个人唱,如果S-x-z>=0,则至少唱S-x-z首歌,否则最少唱0首;最多唱多少首呢?不超过S-x且不超过y,假设唱了i首歌,可能性是\[\sum_{i=\text{max}(0,S-x-z)}^{\text{min}(S-x,y)}C(_{S-x}^i)C(_x^{y-i})\]

对于第三位歌手,必须把目前剩余的歌(S-x-i)唱完,剩余的在x+i首歌种任意选择,所以总的可能性是:

\[C(_S^x)\sum_{i=\text{max}(0,S-x-z)}^{\text{min}(S-x,y)}C(_{S-x}^i)C(_x^{y-i})C(_{x+i}^{z+x+i-S})\]

 

组合数预处理下或者记忆化。

 

posted @ 2014-02-19 10:07  努力变瘦  阅读(148)  评论(0编辑  收藏  举报