二项式系数,也是我们常用的组合数,最直观的组合意义就是从n个元素取k个元素所有可能的情况数,因此我们自然的得到下面二项式系数的定义式。

那么我们通过具有组合意义的二项系数,给出更加一般的二项式系数的定义:

通过上文给出推广形式的二项式系数,容易推得恒等式3.

但是我们注意到,在第二个恒等式的推导中,我们运用了对称恒等式.

而对称恒等式的使用要求上指标非负,这是否意味着对于第二个恒等式我们需要限制r的范围?

答案是否定的?该恒等式依然对实数r成立.

因为首先这个恒等式(下指标不变的相伴恒等式)必然是对非负整数r成立的,我们能够找到大于k+1组不同的点,使得左右两式的差为0.而我们从多项式的角度看左右两式的差值,他们其实是r的k+1次多项式.由多项式的理论:一个非零的d次多项式至多有d个不同的零点,否则,只能说明这个多项式恒为0.因此我们看到,这个恒等式左右两侧是关于r相同的多项式,因此该恒等式对于实数r成立.

这种证明方法称为多项式推理法,它在将二项式系数恒等式由整数推广到实数中很有用处.

有了加法恒等式(帕斯卡公式),我们很容易将下面的一个和式进行化简,它使得我们求解一个有规律的二项式系数的和式时,仅仅计算一个二项式系数即可,从算法时间复杂度的角度来讲,是O(n)到O(1)的优化。

关于上指标求和,这里有组合解释:我们在标号为0~n的n+1张票中选出m+1张票,这m+1张票中,序号最大为k的取法有C(k , m).其中k是二项式系数的上指标。

上指标求和的内涵在于向上扩充了帕斯卡三角形,在二项式系数的上指标小于下指标的时候,通常利用该恒等式进行等值的转换。

下面给出一系列二项式系数的乘积之和恒等式。

这些恒等式都是通过上文介绍的范德蒙卷积恒等式以及其他的恒等式推得而来,对于他们的推导,我们后续会慢慢地展开,这里暂且先将其简单罗列,在后面的化简实例中,可以拿过来直接应用.

-----------------------------------------分割线---------------------------------------------------------------------------------------------------------------

通过对上面一系列基本二项式系数恒等式的学习,下面我们就去在实战中去应用它们.

实例1:比值的和式:

我们需要对化简后的式子进行简单检验,这是做化简运算的基本素养和习惯.取n = 4 , m , 2.

通过原式给出的和式,结果为5/3.利用化简后的结果,也是5/3.

实例2:

从上面的过程中我们发现一个非常聪明的做法,如何利用我们之前讨论过的二项式系数恒等式解决具体的问题?——给予恒等式(尤其是和式中非指示常量)中参数具体的值。

例如我们利用刚刚用到的恒等式,再给予一组赋值:

《Concrete Mathematics》-chaper5-二项式系数的更多相关文章

  1. 个人作业——week1

    1.问题 (1)与软件学院相比,计算机科学更偏向理论研究,本系开设软件工程课程的意图是否是为了平衡理论与应用的比重? (2)Bug的定义根据开发者与使用者的分析角度不同,有着很大的区别,如何使开发者能 ...

  2. 个人博客作业Week1

    个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户 ...

  3. linux下编译bib、tex生成pdf文件

    实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...

  4. 个人作业—Week1

    针对教材内容的问题 阅读教材<软件工程——实践者的研究方法>Roger S.Pressman 在笼统地阅读了教材,大致理清教材知识结构后,提出以下问题作为今后学习地重点: 1)     什 ...

  5. 《构建之法》阅读有疑 与 个人Week1作业

    <构建之法>阅读有疑 在用将近五节课的时间将邹欣老师的书<构建之法——现代软件工程>第二版大致看完.虽然全书是以轻松的口吻与”移山公司”员工的一些趣味谈话来传输一些理念和思想的 ...

  6. 推些C语言与算法书籍

    c语言系统学习与进阶: 1. C primer plus C primer plus 作为一本被人推崇备至的 c 入门经典,C primer plus 绝非浪得虚名.应该 算得上 C 教材里最好的入门 ...

  7. 个人博客 week1

    1:看完教材后不懂的几个问题: (1):团队合作中每个人分工而行,如何保证比较完善的各人之间的信息共享? (2):敏捷开发如何保证开发的效率?即在进行大项目的开发时敏捷开发看上去会很混乱. (3):黑 ...

  8. 算法的上帝——Donald E.Knuth(转)

    开始介绍前先膜拜之~ 密尔沃基市,是美国威斯康辛州最大的城市.1938年1月10日,圣诞刚过不久,密尔沃基市民像往常一样平静地生活着.咖啡店里,有人在议论着罗斯 福总统的救市新政策,有人在议论着到底该 ...

  9. (转)Fibonacci Tilings

    Fibonacci numbers {Fn, n ≥ 0} satisfy the recurrence relation (1) Fn+2 = Fn+1 + Fn, along with the i ...

随机推荐

  1. 2014年辛星完全解读Javascript第二节

    本小节我们讲解一下Javascript的语法,虽然js语言非常简单,它的语法也相对好学一些,但是不学总之还是不会的,因此,我们来一探究竟把. ********注释************* 1.我们通 ...

  2. php中一些安全性防止问题建议

    只要我们作好了各类操作就可在基本防止一些朋友利用网站本身的漏洞进行网站操作了,很多在php中都有的如XSS用 htmlentities()预防XSS攻击还有sql注入可以用mysql_real_esc ...

  3. unity的旋转

    绕着一个点旋转 : transform.RotateAround(Vector3.zero, Vector3.up, speed* Time.deltaTime ); 第一个参数,点的位置.第二个参数 ...

  4. poj 2828 Buy Tickets (线段树(排队插入后输出序列))

    http://poj.org/problem?id=2828 Buy Tickets Time Limit: 4000MS   Memory Limit: 65536K Total Submissio ...

  5. Mysql不区分大小写

    mysql在windows下表名是不区分大小写的,但是在linux下是区分大小写的: 今天帮朋友解决安装到ubuntu系统下mysql不区分大小写的问题,最初在/etc/my.cnf文件中的[mysq ...

  6. JSP页面之${fn:}内置函数

    函数列表: 函数名 函数说明 使用举例 fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchStrin ...

  7. HDU3368+枚举

    题意看不懂的直接看百度百科对黑白棋的解释... 做法:分情况讨论,一共8个方向. /* 搜索 */ #include<stdio.h> #include<string.h> ; ...

  8. 李洪强漫谈iOS开发[C语言-022]-算术运算符

  9. 【Linux远程管理】Telnet远程连接管理

    Telnet,命令行界面下的远程管理工具,因为其历史非常悠久,几乎所有的操作系统都有该工具, 但是,Telnet在传输数据是是通过明文传输的,没有加密,所以现在几乎不会使用Telnet进行管理了. ( ...

  10. RxJava开发精要6 – Observables组合

    原文出自<RxJava Essentials> 原文作者 : Ivan Morgillo 译文出自 : 开发技术前线 www.devtf.cn 转载声明: 本译文已授权开发者头条享有独家转 ...