海清's profileCockhorse BlogPhotosBlogListsMore Tools Help

Blog


    February 29

    组合基本公式

    对于0≤r≤n,有

    C(n,r)=C(n,n-r)

    C(n,r)=C(n-1,r)+C(n-1,r-1)

    C(n,0)+ C(n+1,1)+ C(n+2,2)+ …+ C(n+r,r)= C(n+r+1,r)

    C(n,l)*C(l,r)=C(n,r)*C(n-r,l-r)

    C(n,0)+ C(n,1)+…+ C(n,n-1)+ C(n,n)=2n

    C(n,0)-C(n,1)+C(n,2)-…±C(n,n)=0

    C(m+n,r)=C(m,0)*C(n,r)+C(m,1)*C(n,r-1) +…+C(m,r)*C(n,0)

    C(m+n,m)=C(m,0)*C(n,0)+C(m,1)*C(n,1)+…+C(m,m)*C(n,m)

    ∑j≥0 C(k,j)* C(l,j)* C(n+k+l-j,k+1)= C(n+k,k) C(n+l,l)

    February 05

    stirling数

    第二类stirling数 S(p,k) 表示将p个元素的集合划分成k个非空集合的划分的个数。

      S(p,p)=1  S(p,0)=0

      S(p,k)=kS(p-1,k)+S(p-1,k-1) (1<=k<=p-1)

    第一类stirling数 S(p,k) 表示将p个物体排成k个非对空循环排列的方法数。

      S(p,p)=1  S(p,0)=0

      S(p,k)=(p-1)S(p-1,k)+S(p-1,k-1) (1<=k<=p-1)

    February 03

    集合的关系

    原名题:A->B
    否命题:not A->not B
    逆命题:B->A
    逆否命题:not B->not A

    关系:A->B <=> not B->not A

    反正法:
    要证A->B,则假设A->not B或B->not A是对的,然后推出矛盾即可。

    February 02

    随机数

    计算机无法产生真正的随机数,这也正是计算机无法实现人工智能的主要原因.

    随机序列 Xi+1=(Xi*a+b)mod c+d

    随机种子  randomseed

    February 01

    笔记

    大质数:51351 , 891001 , 3214567

    等价关系:自反,对称,传递

    判断树的几个充要条件:
    1、连通且无环
    2、任意两点之间有且只有一条路径
    3、连通且|E|=|V|-1

    1个字节:boolean、char、byte
    2个字节:integer
    4个字节:longint
    8个字节:int64

    辗转相除复杂度为O(log)

    January 31

    7的整除

    当10a+b能被7整除,因为7a+7b能被7整除,所以3a-6b能被7整除

    则a-2b能被7整除,这也就是判断是否能被7整除的方法

    则有结论: 11...17(有n个1,最后一个数为7),  当n能被6整除时, 那么这个数就能被7整除.

    例:定义P(n)为n的所有数字的乘积。例如,P(1243)=1*2*4*3=24,P(198501243)=0。
    我们称一个数n为“好数”,如果P(n)<>0且n mod P(n)=0。
    我们称一个数n为“完美数”,如果n和n+1都是好数。
    读入一个数K,输出恰好为K位的完美数有多少个。(k<=1000000)

    如果n为完美数,那么n和n+1均为好数

    则它们末位均不为零,前k-1位都相同,所以前k-1位相乘的值是n和n+1的公约数,又因为n与n+1互质,所以这个数前k-1位肯定全为1

    那么完全数只可能是形如11...1x(k-1个1)的数,再分别判断k不同时,x有哪些取法.(7的判断就用到了上面说的那个结论)

    January 30

    错排

    D(1)=0,D(2)=1

    递推式:D(n)=(n-1)(D(n-1)+D(n-2))

    通项: D(n)=n!(1-1/2!+1/3!-.....+(-1)n/n!)

    January 28

    一些小东西

    1+1/2+1/3+....1/n 等阶于 logn

    log n! 等阶于 nlogn

    给出2*n+1个数,其中有且仅有一个数出现了奇数次,求此数     x=a1 xor a2 xor a3.....xor an

    January 10

    中国剩余定理

    问题:求x

    a1=x mod m1

    a2=x mod m2

    ....

    an=x mod mn

    算法:

    1.当m1,m2,...,mn两两互质的时候:

       M=m1*m2*m3*....*mn;  Mi=M/mi;

       解 p*Mi+q*mi=1

       ei=p*Mi;

       则 ei mod mj=1 (i=j)

       或 ei mod mj=0 (i<>j)

       所以 x0=a1e1+a2e2+....+anen 为一个可行解

       所有解为 x=x0+kM (k为整数)

    2.非两两互质的时候可通过此变化使其两两互质:

       设 k=gcd(m1,m2) n1=m1/k n2=m2/k

       x mod m1=a1 -> x mod (k*n1)=a1 -> x mod n1=a1 mod n1

       x mod m2=a2 -> x mod (k*n2)=a2 -> x mod n2=a2 mod n2

       根据此方法,当Mi和mi非互质时,改变mi和ai的值即可.

    June 14

    两道数学竞赛的题

    今天在看我同学数学竞赛组合数学方面的东西,觉得这些题还蛮有趣的,虽然比较简单。

        1.动物园共有六条道路,恰好构成一个等边三角形和它的3条中位线,两位值班员正在追赶一只从笼子里跑出来的猴子。假定猴子的奔跑速度是人的3倍,且都只能沿着道路奔跑,在奔跑的过程中互相都能看见。试问他们能够抓住猴子吗?(可以)
    http://byfiles.storage.msn.com/y1pEIbDTlmU2Oag4hZ3zYbrprOv8x1aAaq6xO4eQ7KzQRBKcJEjpBFxcxV1GPpidjRq
    分析:
        如图,首先两个值班员站在A,B两处。如果猴子在上面,那么必然将它抓住。
        假设猴子在AB的下面,不妨设猴子在左下角的三角形内。首先,A不动,让B点的值班员沿AB线移动。由于猴子在AC线走不通(在B点值班员调整过程中猴子甚至不能通过A点),那么B点的值班员经过调整之后可以做到任何时间都保持到B点的距离不超过猴子到B点的最短距离的1/3,并且到A的距离也不超过猴子到A的最短距离(不经由AC)的1/3,这说明此时只要A点值班员在AC上走动,猴子就不会跑到AB上面的三角形去。保持B点值班员与猴子的上述关系,而A点值班员走到C点。此时两值班员从两路包抄猴子,就将其抓住。


        2.圆形跑道上n个不同的点处各有一辆汽车准备出发,每辆汽车的速度都相同。听到信号后,它们各选一个方向同时出发,如果两辆车相遇则同时改变方向继续行驶。证明,必有某个时刻,所有汽车都回到了各自的出发点。


    分析:
        如果一开始大家选择的方向相同,那么不会有相遇的问题,行驶一周之后都回到出发点。考虑某次相遇,如果我们在相遇的时候互换两车的车牌号,那么实际上相当于两车不受影响地按原路线行驶。这说明在绕行一周所用的时间之后,每个出发点处都有一辆汽车(未必是一开始的那辆),并且该汽车行驶方向也未必改变。注意到汽车行驶过程中未改变圆周上的相对顺序,所以实际上此时相当于这些汽车的一个“旋转”。从而在n次这样的旋转之后,所有汽车都回到各自的出发点。