zoukankan      html  css  js  c++  java
  • 一些奇奇怪怪的结论

    以后讲课的时候可以拿来拖时间
    解释都是白色字体...鼠标选中就可以看到了.

    简单无向图所有点的度数不可能互不相同.

    解释:度数在0到n-1之间,则互不相同的时候所有点的度数依次为0,1,2...n-1,度数为n-1的点和其他所有点都有连边,则不可能存在度数为0的点

    可以对一个简单无向图黑白染色,使得对于每个点,与之相连的异色点(如果这个点是白点,那么黑点是异色点)不少于同色点
    解释:所有染色方案中异色点之间连边最多的方案即为所求.如果这个方案不满足要求,那么将不符合要求的一个点反色,则异色点之间的边数变多,这个方案不是异色点之间连边最多的方案

    给出一个3x3的棋盘,在上面放置两个黑马,两个白马.马走日字,不考虑蹩马腿.一个格子只能放置一个棋子,棋子不能到棋盘之外.允许操作任意多次.问局面A能否变成局面B.

    局面A:
    黑空黑
    空空空
    白空白

    局面B:
    黑空白
    空空空
    白空黑

    解释:当然不能啦.我们给格子标号,建出图来,发现显然最中间的一个格子没有用,而其他所有格子形成一个环.马在环上的相对顺序不变,A中同色马是相邻的,B中不同颜色马相间当然可以爆搜一下但是不觉得这么分析比较优雅吗

    对于一个m行n列的矩阵,求出每一行的最大值,然后找出这些最大值中的最小值p.求出每一列的最小值,然后找出这些最小值中的最大值q,比较p和q的大小.

    解释:
    显然可以取等,令所有数字相等即可.但是所有数字不等也可以构造出p=q,把最大的m个数字放在同一列中,那么这m个数字中的最小值既是p又是q.
    接下来我们有:p>=q.
    只讨论p!=q的情况.如果p和q在同一行:那么p首先是它所在行的最大值,于是p>q.如果在同一列,那么q是它所在列的最小值,于是q<p.
    如果既不在同一行也不在同一列,假设p在第i行,q在第j列,那么第i行j列的数字比p小,比q大,通过这个中间量我们可以得到p>q.
    综上,总有p>=q

    怎么证明Lucas定理(C(n,m)%p=C(n/p,m/p)C(n%p,m%p)%p,p为质数)

    解释:
    考虑二项式定理.
    (1+x)^n^ 中x^m^的系数就是C(n,m),
    接下来我们把(1+x)^n^拆成[((1+x)^(p)^)^(n/p)^] * [(1+x)^(n%p)^],m同理拆成[((1+x)^(p)^)^(m/p)^] * [(1+x)^(m%p)^]
    (1+x)^p^中各项系数依次为C(p,0),C(p,1)...C(p,p).p为质数,0<i<p的时候,C(p,i)%p=p/i*C(p-1,i-1)%p=0.
    因为我们是在模p的意义下考虑系数,所以如果某一项的系数可以被p整除我们就可以把这一项扔掉.(也就是把这个多项式对p取模,或者说把各项系数对p取模).
    于是得到[(1+x^p^)^(n/p)^] * [(1+x)^(n%p)^].再根据一下带余除法的性质(p=k*a+b,当0<=b<k的时候a的数值唯一),要想在[(1+x^p^)^(n/p)^] * [(1+x)^(n%p)^]中得到x^m^这一项,必须是[(x^(p)^)^(m/p)^] * [x^(m%p)^]的形式,根据二项式定理这个系数也就是C(n/p,m/p)*C(n%p,m%p),证完啦.
    同时我们也可以发现p不为质数时不能用lucas定理的原因是C(p,i)%p不一定为0了,例如C(4,2)%4=6%4=2.
    cnblogs的排版有毒....

  • 相关阅读:
    Static Fields and Methods
    usermod
    理解Java的Class类、"this."关键字、Constructor构造器(一)
    [REPRINT] Java 101: Classes and objects in Java
    第六章 Java并发容器和框架
    第五章 Java中锁
    第四章 Java并发编程基础
    第三章 Java内存模型(下)
    第三章 Java内存模型(上)
    第二章 并发机制的底层实现原理
  • 原文地址:https://www.cnblogs.com/liu-runda/p/8073477.html
Copyright © 2011-2022 走看看