首页 > 其他分享 >基本计数原理

基本计数原理

时间:2024-02-17 19:11:55浏览次数:27  
标签:基本 排列 frac 多重集 元素 个数 种元素 计数 原理

加法原理

解决一件事情,有k类方法,第i类方法有a[i]种选择。那么总方案数=a[1]+a[2]+....+a[k]

乘法原理

解决一件事情,有k个步骤,第i个步骤有a[i]种选择。那么总方案数=a[1] * a[2]....* a[k]

排列组合

排列:
将n个元素选取k个出来构成一个排列,总方案数$A_{n}^{k} $= \(\frac{n!}{(n-k)!}\)

组合:
将n个元素选取k个出来构成一个集合总方案数$C_{n}^{k} $= \(\frac{A_{n}^{k}}{k!}\)= \(\frac{n!}{(n-k)!k!}\)

多重集的排列与组合数

多重集的排列是指有k种元素,第i种元素的个数为a[i],总元素个数为n,其全排列的方案数为:

\[\frac{n!}{a1!a2!...ak!} \]

多重集的组合数1:
设有k种元素,第i种元素的个数为a[i],取共计r个元素构成集合且r<=a[i],其组合数:

\[C_{k-1}^{r+k-1} \]

证明:
考虑隔板法,因为每种元素都可以不选,考虑先给每种元素都选一个,那么也就是选r+k个,隔板法r+k-1个空隙,放k-1个隔板,那么每份隔出的数量-1对应选择该种元素的个数。因为r<=a[i],所以无论隔出的情况如何都不存在出现一种元素选取个数大于其总个数的情况

组合数的常用性质

性质1:

\[C_{0}^{n}+C_{1}^{n}+....+C_{n}^{n}=2^n \]

性质2:

\[C_{m}^{n}=C_{n-m}^{n} \]

性质3:

\[C_{m}^{n}=C_{m-1}^{n-1}+C_{m}^{n-1} \]

从动态规划的想法出发很好理解:
\(C_{m-1}^{n-1}\)其实就是第n个数选了,而\(C_{m}^{n-1}\)则是没选
写代码的话初始状态设\(dp[0][0]=1\)

标签:基本,排列,frac,多重集,元素,个数,种元素,计数,原理
From: https://www.cnblogs.com/wangwenhan/p/18018230

相关文章

  • vue基础知识和原理(二)
    1.13列表渲染v-for指令用于展示列表数据语法:v-for="(item,index)inxxx":key="yyy"可遍历:数组、对象、字符串(用的很少)、指定次数(用的很少)<divid="root"><!--v-for指令:1.用于展示列表数据......
  • 安卓的基本布局
    相对布局管理器:在一个参考点的四周(上,下,左,右)布局的管理器,即位置都是相对的。线性布局管理器:分为水平和垂直两种,垂直较为常用,垂直布局相和横格纸类似。帧布局管理器(这个不常用):在帧布局管理中,每加入一个组件,都将创建一个空白的区域,通常称为帧,这些帧都会根据gravity属性执行自动对齐......
  • CRC算法原理和代码实现
    前言​ 由于现在的工作涉及到协议的对接,而协议使用CRC进行校验。并且在MATLAB传C的过程中有可能需要使用到CRC来校验数据。所以在这篇文章中对CRC校验的有关知识进行梳理,也是自己对这方面知识点的梳理和总结吧。什么是CRC校验​ CRC(CyclicRedundancyChecksum循环冗余校验)校验......
  • 计数选讲tzc
    ARC154EReverseandInversion要长脑子了。首先先尝试拆一拆贡献。对原来的式子进行一定的化简,可以得到:\[\sum\limits_{i}i(\sum\limits_{i>j}[P_j>P_i]-\sum\limits_{i<j}[P_i>P_j])\\=\sum\limits_{i}i(i-P_i)\]因此我们只需要求出每个\(P_i\)被换到哪里即可。注意到初......
  • 计数交换
    详细阐述一下蓝书的做法首先,我们创造\(n\)个点,每个点有一个权值\(p_i\),也有一个编号蓝书的连边就是对每一个点,从这个点出发连一条有向边到编号为这个点权值的点比如书上举的那个例子,编号分别为\(1,2,3,4,5,6\),权值分别为\(2,4,6,1,5,3\)这样这个图肯定是由若干个环组成的然后......
  • SciTech-Printing-精密成像+印刷-静电成像(激光打印/成像)的原理介绍
    静电成像的原理介绍(2014-01-0917:32:11)标签:静电成像静电成像原理文化 分类:印艺技术静电成像是利用光导材料的“光敏变电阻”特性:在黑暗中为绝缘体、在光照条件时电阻值下降(阻值可变化1000倍以上)的特性来成像。常用有OPC(有机化合物)光导材料/A-Si陶瓷/Se(硒)半导体......
  • 字符串原理
    ......
  • python类的实现中有关__setattr__原理问题
    python类的实现中有关__settar__原理问题具体解决思路问题代码段:classCustomAttributes:def__init__(self):self._attributes={}def__setattr__(self,name,value):#允许设置名为'_attributes'的属性,这是实现所必......
  • 8小时速成golang(五)golang高阶 channel基本定义和使用
     1、定义channel变量channel是Go语言中的一个核心类型,可以把它看成管道。并发核心单元通过它就可以发送或者接收数据进行通讯,这在一定程度上又进一步降低了编程的难度。 channel是一个数据类型,主要用来解决go程的同步问题以及go程之间数据共享(数据传递)的问题。goroutin......
  • 4.2 贝叶斯网络的基本概念
    贝叶斯网络(信念网络)一种用有向无环图DAG表示的概率模型,可用于描述存在依赖关系的多个事件之间的联合概率分布条件概率的图表示有向图、无向图、无环图贝叶斯网络模型的图表示节点表示随机变量有向边表示随机变量之间的条件依赖关系随机变量的条件独立性链式法则......