《Concrete Mathematics》-chaper5-二项式系数
二项式系数,也是我们常用的组合数,最直观的组合意义就是从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-二项式系数的更多相关文章
- 个人作业——week1
1.问题 (1)与软件学院相比,计算机科学更偏向理论研究,本系开设软件工程课程的意图是否是为了平衡理论与应用的比重? (2)Bug的定义根据开发者与使用者的分析角度不同,有着很大的区别,如何使开发者能 ...
- 个人博客作业Week1
个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户 ...
- linux下编译bib、tex生成pdf文件
实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...
- 个人作业—Week1
针对教材内容的问题 阅读教材<软件工程——实践者的研究方法>Roger S.Pressman 在笼统地阅读了教材,大致理清教材知识结构后,提出以下问题作为今后学习地重点: 1) 什 ...
- 《构建之法》阅读有疑 与 个人Week1作业
<构建之法>阅读有疑 在用将近五节课的时间将邹欣老师的书<构建之法——现代软件工程>第二版大致看完.虽然全书是以轻松的口吻与”移山公司”员工的一些趣味谈话来传输一些理念和思想的 ...
- 推些C语言与算法书籍
c语言系统学习与进阶: 1. C primer plus C primer plus 作为一本被人推崇备至的 c 入门经典,C primer plus 绝非浪得虚名.应该 算得上 C 教材里最好的入门 ...
- 个人博客 week1
1:看完教材后不懂的几个问题: (1):团队合作中每个人分工而行,如何保证比较完善的各人之间的信息共享? (2):敏捷开发如何保证开发的效率?即在进行大项目的开发时敏捷开发看上去会很混乱. (3):黑 ...
- 算法的上帝——Donald E.Knuth(转)
开始介绍前先膜拜之~ 密尔沃基市,是美国威斯康辛州最大的城市.1938年1月10日,圣诞刚过不久,密尔沃基市民像往常一样平静地生活着.咖啡店里,有人在议论着罗斯 福总统的救市新政策,有人在议论着到底该 ...
- (转)Fibonacci Tilings
Fibonacci numbers {Fn, n ≥ 0} satisfy the recurrence relation (1) Fn+2 = Fn+1 + Fn, along with the i ...
随机推荐
- 更改Keil工程名
假设原工程名为A,需要改成B. 1, 在工程目录下,把A.vuopt和A.uvproj改成B.uvopt和B.uvproj. 2,删除其他A文件. 3,打开工程B.然后修改下面位置: Project ...
- JavaScript trim 实现(去除字符串首尾指定字符)
String.prototype.trim = function (char, type) { if (char) { if (type == 'left') { return this.replac ...
- linux下core文件调试方法
http://www.cnblogs.com/li-hao/archive/2011/09/25/2190278.html 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映 ...
- 如何启动 SQL Server Agent(SQL Server 配置管理器)
如何启动 SQL Server Agent(SQL Server 配置管理器) SQL Server 2008 R2 其他版本 4(共 6)对本文的评价是有帮助 - 评价此主题 可以从 SQL S ...
- 【无聊放个模板系列】POJ2752 EXKMP
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- MongoDB实战指南(一):大数据与云计算
1.1 什么大数据 具体来说,大数据技术涉及到数据的创造,存储,获取和分析,大数据的主要特点有下面几个: 数据量大.一个典型的PC机载2000年前后其存储空间可能有10GB,今天facebook一天增 ...
- [dp]Codeforces30C Shooting Gallery
题目链接 题意: 给n个点 每个点的坐标 x y 出现的时间t 射中的概率 从i点到j点的时间为它们的距离. 求射中个数的最大期望 很水的dp 坑点就是要用LL #include <cstdi ...
- 获取C#中exe程序的实例名
获取sanjiao.frmsanjiao string strPass = @"D:\WinAutoTest\sanjiao.exe"; Assembly assebly = As ...
- Android 关于显示键盘,布局错乱网上顶的问题
<activity android:name="com.taiyi.DiscussActivity" android:windowSoftInputMode="st ...
- Shell编程学习---第五篇:Shell的输入和输出
在shell脚本中,可以用几种不同的方式读入数据:可以使用标准输入—缺省为键盘,或 者指定一个文件作为输入.对于输出也是一样:如果不指定某个文件作为输出,标准输出总 是和终端屏幕相关联.如果所使用命令 ...