ACM-ICPC程序设计系列:组合数学及应用
出版时间:2012年版
内容简介
周治国主编的《组合数学及应用》属于ACM-ICPC程序设计竞赛数学基础丛书。《组合数学及应用》以程序设计思想和方法为主线,由浅入深地介绍组合数学的基础知识,并以经典的ACM-ICPC竞赛题目为例讲解组合数学在竞赛中的具体应用问题。全书共分6章,分别介绍了排列组合、母函数、容斥原理与鸽巢原理、群和Polya定理、组合计数与编码、线性规划的基本知识及其应用。《组合数学及应用》既可以作为组合数学的人门教程,也可作为参加ACM-ICPC程序设计竞赛的培训教材,还可供ACM-ICPC程序设计竞赛培训教师或相关专业研究人员参考。
目录
第1章 排列组合
1.1 排列与组合
1.2 两个基本计数原理
1.2.1 加法原理
1.2.2 乘法原理
1.3 特殊排列组合
1.3.1 重复排列
1.3.2 重复组合
1.3.3 不全相异的全排列
1.3.4 圆周排列
1.4 排列的生成算法
1.4.1 序数法
1.4.2 字典序法
1.4.3 邻位互换法
1.5 组合的生成
1.6 练习题
第2章 母函数
2.1 普通母函数
2.2 整数的拆分
2.3 Ferrers图像
2.4 指数型母函数
2.5 递推关系
2.6 斐波那契数列
2.7 Stirling数
2.8 Catalan数
2.9 练习题
第3章 容斥原理与鸽巢原理
3.1 容斥原理
3.1.1 De Morgan定理
3.1.2 容斥原理的定义
3.2 容斥原理的应用
3.2.1 错排问题
3.2.2 棋盘多项式与有禁区的排列
3.3 Mobius反演定理
3.4 鸽巢原理
3.5 Ramsey数
3.5.1 Ramsey问题
3.5.2 Ramsey数
3.6 应用实例
3.7 练习题
第4章 群和Polya定理
4.1 等价关系、群与置换群
4.1.1 等价关系
4.1.2 群和置换群
4.2 循环与对换
4.3 Burnside引理
4.3.1 共扼类
4.3.2 k不动置换类和等价类
4.3.3 Burnside引理
4.4 Polya定理
4.5 Polya定理应用举例
4.6 练习题
第5章 组合计数与编码
5.1 均衡不完全区组设计
5.1.1 均衡不完全区组设计
5.1.2 基本性质
5.1.3 由对称BIBD构造BIBD
5.2 拉丁方
5.2.1 拉丁方的定义
5.2.2 拉丁方的构造
5.2.3 正交拉丁方
5.3 Hadamard矩阵
5.3.1 Hadamard矩阵
5.3.2 由Hadamard矩阵构造SBIBD (4t-1 ,2t-1,t-1)
5.4 编码理论基础
5.4.1 基本概念
5.4.2 Hamming码
5.5 应用实例
5.6 练习题
第6章 线性规划
6.1 线性规划问题及其表示
6.1.1 线性规划问题
6.1.2 线性规划问题的一般形式
6.1.3 线性规划问题的标准形式
6.1.4 一般形式向标准形式的转化
6.2 单纯性算法
6.2.1 松弛变量技术
6.2.2 线性规划定理
6.2.3 单纯性算法
6.2.4 特殊情况的处理
6.2.5 算法流程
6.2.6 算法实现
6.3 练习题
附录:参考程序
参考文献