【周赛总结】第191场周赛——两个盒子中球的颜色数相同的概率

本文回顾第191场周赛,重点解析一道排列组合题目,涉及两个盒子中颜色不同的球种类相同的概率计算。通过全排列、捆绑法求分母,再使用DFS枚举球种类并进行空间划分来求分子,同时注意DFS过程中的状态协调。
摘要由CSDN通过智能技术生成

2020/05/31 ACE : 3/4 rank:322/3686
没有完全a完,早上的比赛没太睡醒,中间被罚了两次。比赛链接

还是重点讲解第四题吧,比赛时候没有a出来。

两个盒子中球的颜色数相同的概率

在这里插入图片描述
在这里插入图片描述

题目的翻译真的不是很好,是要求计算两个盒子里,a盒中颜色不同的球的种类和b盒中颜色不同的球的种类相同的概率。

一看就是排列组合题目,首先我们需要得到分母。可以考虑先作为完全不一样的球,计算全排列n!,然后在依次进行捆绑,同一个种类的球是不存在区别的,因此可以随便换位置。需要除以每个种类的球的个数的阶乘。得到的就是分母。对于这一系列的计算,称为可重复的排列数

然后是分子的计算,采用了枚举dfs的方法。按照球的种类进行搜索,每次对一种球进行划分,确定左侧放入几个球,右侧放入几个球。并且把左右盒子想象成了格子盒。这样在统计左右的不同类型球的时候会很方便。同时需要注意在dfs时保持入栈和退栈的协调。

class Solution:
    def fact(self,n):
        ans = 1
        for i in range(1,n+1):
            ans *= i 
        return ans

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值