组合数学八题

45 篇文章 0 订阅
33 篇文章 0 订阅

组合数学八题


约定:

1.1<=N,M<=1000
2.所有答案对1000007(10^6+7)取模
3.每道题只有一个点,一个点有多组数据
4.输入格式:第一行整数T(T<=10),表示数据组数;接下来T行每行两个数表示N,M
5.时间限制为1s,空间限制为256Mb
6.文件名为X.pas/c/cpp,输入为X.in,输出为X.out{大写字母}

A

给定 N 个不同的球,放进 M 个不同的盒子,盒子允许为空,有多少种方案?

样例输入:

1
3 2

样例输出:

8

Solution

很显然, ans=mn


B

给定 N 个不同的球,放进 M 个不同的盒子,盒子不允许为空,有多少种方案?

样例输入:

1
3 2

样例输出:

6

Solution

S(m)=mni=1m1S(mi)Cim , S(1)=1

用孙子定理和 Lucas 定理就可以做了。


C

给定 N 个不同的球,放进 M 个相同的盒子,盒子允许为空,有多少种方案?

样例输入:

1
3 2

样例输出:

4

Solution

首先,考虑不允许为空的情况。

fn,m=fn1,m1+fn1,mm

因为可以有空盒,所以枚举有多少个空盒,
ans=i=1mfn,i


D

给定 N 个不同的球,放进 M 个相同的盒子,盒子不允许为空,有多少种方案?

样例输入:

1
3 2

样例输出:

3

Solution

C

fn,m=fn1,m1+fn1,mm

ans=fn,m


E

给定 N 个相同的球,放进 M 个不同的盒子,盒子允许为空,有多少种方案?

样例输入:

1
3 2

样例输出:

4

Solution

插板法, ans=Cm1n1


F

给定 N 个相同的球,放进 M 个不同的盒子,盒子不允许为空,有多少种方案?

样例输入:

1
3 2

样例输出:

2

Solution

插板法, ans=Cm1n+m1


G

给定 N 个相同的球,放进 M 个相同的盒子,盒子允许为空,有多少种方案?

样例输入:

1
3 2

样例输出:

2

Solution

设一个方案为 a1,a2,ak ki=1ak=n ajaj1(1<jk)

aj<aj1 ,则可以调换 aj aj1 ,方案数不变(因为盒子相同)。

考虑第 i 个盒子,可以不放球,也可以放球。根据方案的递减性,若在当前盒子中放球,那么所有盒子都要放球。
fj,i=fj,i1+fji,i


H

给定 N 个相同的球,放进 M 个相同的盒子,盒子不允许为空,有多少种方案?

样例输入:

1
3 2

样例输出:

1

Solution

G 一样。因为不允许为空,所以我们先把 m 个球放到盒子里面去,所以只剩下 nm 个球,就跟 G <script type="math/tex" id="MathJax-Element-972">G</script> 一模一样了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值