组合数 && 欧拉函数杂谈

组合数杂谈

性质1:C(m,n)* C(n,r)=C(m,r)* C(m-r,n-r)

性质2:杨辉三角第n行的和,其实就是2n−1,为什么不是2n呢?因为杨辉三角是长这样婶儿的:

    1         1  2^0
   1 1        2  2^1
  1 2 1       3  2^2
 1 3 3 1      4  2^3
1 4 6 4 1     5  2^4

性质3:任一对角线上数字的和等于其向左或右拐弯,拐角上的数字。

有相同元素的全排列

设有n个元素,其中第i个元素有xi个,总数为m,求全排列

全排列数为:m!/(x1!∗x2!∗...∗xn!)

证明:

对于m个不同的元素,它的全排列个数为m!

同理,对于xi个不同的元素,它的全排列个数为xi!

于是除掉那些相同的排列即可

将各行数字左对齐,其右上到左下对角线数字的和等于斐波那契数列的数字。

欧拉函数的几个性质及证明

n中与n互质的数的和为ϕ(n)/2∗n (n>1)

ϕ(n)(n>2)为偶数

证明:

需要知道的一个基本事实是gcd(n,x)=gcd(n,n−x)(n>x)

关于这个,可以了解一下更相减损术因为gcd(n,x)=gcd(n,n−x)(n>x),所以与n互质的数都是成对出现的

每一对的和都为n。所以他们的和为ϕ(n)/2∗n。

至于ϕ(n)(n>2)为偶数。因为与n互质的数都是成对出现的,所以显然与n互质的数为偶数,即ϕ(n)为偶数。
证毕。

# 哈夫曼树

P3414 SAC#1 - 组合数

translation:求sigma i=0->n c[n][i],即求杨辉三角第n行的和

结论题,杨辉三角第n行的和为2^(n-1)

P1869 愚蠢的组合数

法1:

结论题,对于C(n,k),若n&k == k 则c(n,k)为奇数,否则为偶数。乘以 1等于什么都没乘,但是乘以 0以后就永远是 0了,归纳一下发现答案为零当且仅当二进制表示中至少有一位 n 是 0 而 k是 1.运用位运算可以快速的对这个条件进行判别 −> n&k==k时答案为1 ,其他答案为0.

法2:

我的RE 0pts做法:既然跟奇偶性相关,就少不了我们的^啦

递推:

初值设定:rep(i,0,1000)c[i][i]=c[i][0]=1;

状态转移:c[i][j]=c[i-1][j]^c[i-1][j-1];

法3:

根据算术基本定理和组合数的展开的公式
暴算n!的质因子有多少个2

和(n-m)! ,m!的质因子有多少个2,两相减就完了。

##组合数公式整理

  • 有相同元素的全排列

## phone list

我们把所有的电话号码建成一颗字典树,在插入的过程住如果发现有结束标记,或者结束时发现这个节点还有儿子,就输出NO,如果没有发现这种情况就输出YES

posted @ 2019-10-08 12:04  设计涉及社稷  阅读(299)  评论(0编辑  收藏  举报