首页 > 其他分享 >Counting

Counting

时间:2023-04-21 14:00:49浏览次数:144  
标签:盒子 text choose 物品 quad array Counting

Counting

Type Repetition Allowed? Formula
r-permutations No $P_n^k =r! { n \choose k } $
r-combinations No \(C_n^k = {n \choose r}\)
r-permutations Yes \(n^k\)
r-combinations Yes $C_{n+k-1}^k = {n+k-1 \choose k} $

r-combinations with repetition allowed

\[\begin{aligned} & k:=0 \\ & \quad \text { for } i_1:=1 \text { to } n \\ & \quad \quad \text { for } i_2:=1 \text { to } i_1 \\ & \quad \quad \quad ... \\ & \quad \quad \quad \text { for } i_m:=1 \text { to } i_{m-1} \\ & \quad \quad \quad \quad \quad k:=k+1 \\ & \end{aligned} \]

\(k\) 的值相当于从 \(n\) 个数中可以重复地抽 \(m\) 个出来. 也就是有 \(n\) 个间隙(也就是有 \(n - 1\) 个挡板),把 \(m\) 个物品放到这些间隙中.

\(k ={n+m-1 \choose m}\).

distinguishable objects and distinguishable boxes

以下描述等价:

  • indistinguishable objects and indistinguishable boxes

  • \(n\) 个不相同的物品,分到不相同的 \(k\) 盒子里,分进每个盒子之后没有顺序;

  • 也可以理解为 \((x_1 +x_2 + ... +x_k)^n\) 中 \(\prod_i^k x_i\) 的系数;

\[\frac{n !}{n_{1} ! n_{2} ! \cdots n_{k} !} \]

distinguishable objects and indistinguishable boxes

\(n\) 个不相同的物品,分到 \(k\) 个一模一样的盒子里,(分进每个盒子之后没有顺序);

No closed form.

Stirling numbers of the second kind

\(S(n, j)\) :\(n\) 个不相同的物品,分到 \(k\) 个一模一样的盒子里,每个盒子里至少分到 1 个物品(包括 1 个);

\[S(n, j)=\frac{1}{j !} \sum_{i=0}^{j-1}(-1)^i\left(\begin{array}{l} j \\ i \end{array}\right)(j-i)^n \]

如果允许有空盒,就考虑分成各种子情况再相加,也就是 \(\sum_{j=1}^k S(n, j)\).

\[\sum_{j=1}^k S(n, j)=\sum_{j=1}^k \frac{1}{j !} \sum_{i=0}^{j-1}(-1)^i\left(\begin{array}{l} j \\ i \end{array}\right)(j-i)^n \]

https://core.ac.uk/download/pdf/82771307.pdf

递推关系:

\[S(n\,+\,1,\,r)=S(n,\,r\,-\,1)\,+\,r S(n,\,r). \]

一些别的:

\[n\geq 1,\,S(n,\,1)\,=\,S(n,\,n)\,=\,1, \]

分成两类就是

\[S(n,\,2)\,=\,2^{n-1}\,-\,1 \]

\[S(n,\,n\,-\,1)\,=\,\textstyle{\frac{1}{2}}n(n\,-\,1). \]

这样写会更直观:

\[\begin{array}{ c c c c c c c} & & & & & & 1 \\ & & & & & 1 & & 1 \\ & & & & 1 & & 3 & & 1 \\ & & & 1 & & 7 & & 6 & & 1 \\ & & 1 & & 15 & & 25 & & 10 & & 1 \\ \end{array} \]

indistinguishable objects and indistinguishable boxes

No closed form.

indistinguishable objects and distinguishable boxes

和 r-combinations with repetition allowed 等价.

尽管等价但是注意 \(n\) 和 \(k\) 的位置发生了变化.

  • \(k\) 个一模一样的物品放到 \(n\) 个不一样的盒子里
    • \(n\) 个间隙,也就是 \(n-1\) 个挡板,和 \(k\) 个物品
    • \({n+k-1 \choose k}\)
  • 从 \(n\) 个不相同的物品里面可以重复地取出 \(k\) 个物品,取出后没有顺序
    • 在 \(n\) 个物品前面放一个计数用的盒子,有 \(k\) 根竹签,要娶一下第 \(k\) 个就放一根竹签在盒子里.
    • \(n\) 个盒子可以看成 \(n - 1\) 个挡板.
    • \({n+k-1 \choose k}\)

Catalan numbers

  • \(n\) 组括号的合法运算数;
  • ...

\[\begin{aligned} C_{n}&=C_{0}C_{n-1}+C_{1}C_{n-2}+\cdot\cdot\cdot\cdot+C_{n-2}C_{1}+C_{n-1}C_{0} \\ &=\sum_{k=0}^{n-1}C_{k}C_{n-k-1} \end{aligned} \]

\[C_n=\frac{1}{n+1}\left(\begin{array}{c} 2 n \\ n \end{array}\right)=\frac{(2 n) !}{(n+1) ! n !} \]

标签:盒子,text,choose,物品,quad,array,Counting
From: https://www.cnblogs.com/kion/p/17340122.html

相关文章

  • 菜鸟记录:c语言实现PAT甲级1004--Counting Leaves
    好消息:与上题的Emergency是同样的方法。坏消息:又错了&&c++真的比c方便太多太多。Afamilyhierarchyisusuallypresentedbyapedigreetree.Yourjobistocountthosefamilymemberswhohavenochild.InputSpecification:Eachinputfilecontainsonetest......
  • CF1816F Xor Counting - dp - 分治 -
    题目链接:https://codeforces.com/contest/1816/problem/F题解:一道有趣的题。首先发现\(m=1\)和\(m\geq3\)时结论是平凡的。\(m=1\)时结论显然,下面讨论一下\(m\geq3\)时:首先可以构造\([x,(n-x)/2,(n-x)/2,\cdots]\),其中\(x\)和\(n\)同奇偶,显然此时异或值可以......
  • [AtCoder] B - Counting Grids
      Thekeyobservationisthatthereisalwaysatmost1cellthatviolatesbothconditions. Proof: ifxviolatesbothconditions,thatmeansallothe......
  • P3605 [USACO17JAN]Promotion Counting P
    求某节点子树内比该节点的点权大的点的个数 值域上维护树状数组,#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+2,M=N*2;intbin[N],len;......
  • [atABC288Ex]A Nameless Counting Problem
    记\(f(n,m,x)\)为满足\(\begin{cases}a_{i}\in[0,m)\\\bigoplus_{i=1}^{n}a_{i}=x\\\foralli\nej,a_{i}\nea_{j}\end{cases}\)的序列\(\{a_{n}\}\)数,则答案即\(\sum_{0......
  • PAT 甲级 1004 Counting Leaves(30)
    Afamilyhierarchyisusuallypresentedbyapedigreetree.Yourjobistocountthosefamilymemberswhohavenochild.InputSpecification:Eachinputfilec......
  • [SPOJ] DIVCNT2 - Counting Divisors (square) (平方的约数个数前缀和 容斥 卡常)
    题目vjudgeURL:​​CountingDivisors(square)​​​Letbethenumberofpositivedivisorsof.Forexample,,and.LetGiven,find.InputFirstlinecontains......
  • QOJ #4812. Counting Sequence
    题面传送门首先显然有一个\(O(n^2)\)的dp:设\(f_{i,j}\)表示当前总和为\(i\),结尾是\(j\)的方案数,转移是平凡的。因为相邻两项差只有\(1\),因此所有\(a_i\)和\(a......
  • 【UVA1485】Permutation Counting
    典中典题。由于\(0\lek\len\le1000\),能猜到做法大概是\(n^2\)的动态规划,接下来写方程。以排列长度划分阶段,该长度下\(E\)值划分子问题,容易想到定义\(f[i][j]\)......
  • 计数排序(Counting Sort)
    一、算法概述1.1算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排......