多人传球问题

一、问题的引入

  现有甲、乙、丙三人在传球,从甲开始传,每次传给另外两个人中的一个人,总共传 4 4 4 次,问一共有多少种传球方式。

  答案为 6 6 6 种。分别为:
  甲 → \rarr → \rarr → \rarr → \rarr 甲、
  甲 → \rarr → \rarr → \rarr → \rarr 甲、
  甲 → \rarr → \rarr → \rarr → \rarr 甲、
  甲 → \rarr → \rarr → \rarr → \rarr 甲、
  甲 → \rarr → \rarr → \rarr → \rarr 甲、
  甲 → \rarr → \rarr → \rarr → \rarr 甲。

  对于这类问题,可以直接画树状图解决,但当数大时比较麻烦,而排列组合法也较为麻烦。这时我们考虑使用一种新的方法——递推。

二、递推法的尝试

  在传球的过程中,我们发现甲的球只能由乙或丙传来,而乙和丙的球只能由甲、或乙丙中的另一人传来,这样我们就可以把问题的答案由其子问题得到。

  我们设 a n a_n an 为传球 n n n 次后传到甲的情况数, b n b_n bn 为传球 n n n 次后传到乙、丙其中一人的情况数,可以得到递推式: a n = 2 b n − 1 a_n=2b_{n-1} an=2bn1 b n = a n − 1 + b n − 1 b_n=a_{n-1}+b_{n-1} bn=an1+bn1。其中 a 1 = 0 a_1=0 a1=0 b 1 = 1 b_1=1 b1=1。当数据规模较小时,我们可以直接用递推式一步一步地求到第 n n n 项,但是这个递推式还可以进行化简。
b n = a n − 1 + b n − 1 b_n=a_{n-1}+b_{n-1} bn=an1+bn1 b n = b n − 1 + 2 b n − 2 b_n=b_{n-1}+2b_{n-2} bn=bn1+2bn2然后使用特征根法或待定系数法求得通式: b n = 2 n + ( − 1 ) n + 1 3 b_n=\frac{2^n+(-1)^{n+1}}{3} bn=32n+(1)n+1 a n = 2 n + ( − 1 ) n × 2 3 a_n=\frac{2^n+(-1)^n\times2}{3} an=32n+(1)n×2这个式子十分优美,甚至你可以不用光速幂就把答案算出来

三、方法的扩展

  上面讲解了三人传球问题,那如果有四个人、五个人、六个人……甚至 m m m 个人,我们依然可以使用这种方法来做!
  我们设 a n a_n an 为传球 n n n 次后传到甲的情况数, b n b_n bn 为传球 n n n 次后传到其他某人的情况数,可以得到递推式: a n = ( m − 1 ) b n − 1 a_n=(m-1)b_{n-1} an=(m1)bn1 b n = a n − 1 + ( m − 2 ) b n − 1 b_n=a_{n-1}+(m-2)b_{n-1} bn=an1+(m2)bn1。其中 a 1 = 0 a_1=0 a1=0 b 1 = 1 b_1=1 b1=1 b n = ( m − 2 ) b n − 1 + ( m − 1 ) b n − 2 b_n=(m-2)b_{n-1}+(m-1)b_{n-2} bn=(m2)bn1+(m1)bn2这个式子可以直接用矩阵快速幂来求值,也可以求通式: b n = ( m − 1 ) n + ( − 1 ) n + 1 m b_n=\frac{(m-1)^n+(-1)^{n+1}}{m} bn=m(m1)n+(1)n+1 a n = ( m − 1 ) n + ( − 1 ) n × ( m − 1 ) m a_n=\frac{(m-1)^n+(-1)^n\times (m-1)}{m} an=m(m1)n+(1)n×(m1)这个式子当 m ≠ 3 m\not=3 m=3 时,你就必须用光速幂\xk

完结撒花✿✿ヽ(°▽°)ノ✿

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金刚xkb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值