posts - 195,  comments - 30,  trackbacks - 0

题意是N个不同的盒子,A个完全相同的红球,B个完全相同的篮球,现在把球往盒里装,球可以不全部装到盒里,盒可以为空,问方法数。

其实就是把A个红球,B个篮球分成n+1堆(除n堆外还有一堆就是没有放入盒中的)。
思路很重要,
我的思路是由于A球,B球不同色,可以看成两个独立事件,则结果为count(A)*count(B),
其中count(A)表示A的放法,
则利用隔板法(或者多重集的r组合):count(A)=C(n+1+A-1,n+1-1   ),利用pascal公式c(n,m)=c(n-1,m)+c(n-1,m-1)来求该式;

还有一个注意点当且仅当n=20,a= 15 ,b=15时会超出long long 范围。所以特殊处理

点"+"展开
代码点+会自动展开
posted on 2009-07-21 12:21 luis 阅读(374) 评论(0)  编辑 收藏 引用 所属分类: 组合数学

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

友情链接

搜索

  •  

最新评论

阅读排行榜

评论排行榜