组合数 && 欧拉函数杂谈
组合数杂谈
性质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