做题笔记之-----母函数的相关应用
来源:互联网 发布:2015年淘宝销量排行榜 编辑:程序博客网 时间:2024/06/03 16:32
前面说过母函数求递推式,今天要讲的母函数的作用是求组合数和排列数。
母函数有指数形式和一般形式。这些东西网上都有大把资料。我就懒得写了。
一般形式的母函数主要解决问题: 有 1 5 10 25 50 元的硬币,然后给你一个数字,问你用这几种硬币组合凑成数字大小的种类。很简单。种类个数就是系数,而这个数字就是x的次数。大多数都是这样的类型,换汤不换药。就举一个例子了。而这种方法唯一的难点是用代码模拟多项式相乘,这个代码可真是难倒我了,纠结了一上午,最后算是勉强写出来了。思想就是用两个数组,存要相乘的两个多项式的系数,在纸上多画画,应该就能懂了。
指数形式的母函数,主要解决排列问题,例如:26个字母分别给你多少个,然后让你计算可以产生长度为N的单词多少个。。。这个要重点说说。
这个是我在维基百科里面找的指数形式母函数的通项。从这个式子,我们可以发现,每项都要除N!,那么我们再计算多项式相乘的时候,该怎么处理呢。一开始,我是打算用两个数组,一个数组存的是系数分子,另一个存分母,然后相乘,分子分母分别相乘,这样也不错啊。等我实现的时候才发现,每次相乘,乘几次之后分母必然会超出int范围。
就像当N为10的时候,乘一次是10!*1!,第二次就是10!*2!第三次就是10!*2!*3! 等等一直下去,这是一件非常恐怖的事情啊。然后我也想不到好办法,只能求助google了。
找到一篇解题报告,一看,那真是绝啊,我完全没往那方面想。直接就用double型来存X前面的系数,只开一个数组存那个分数,不用考虑损失精度问题,因为损失的太小了,我们只要保证到小数点后一位不会减少到小于5,最后四舍五入输出还是满足我们要求的,这个做法真是开阔我视野了,感觉想问题角度都多了。。
- 做题笔记之-----母函数的相关应用
- 做题笔记之------母函数求递推式
- C语言指针笔记之 一级指针的应用(指针做函数参数)
- strtotime函数的相关应用
- 一、学习笔记之OpenCv的相关函数
- 母函数做的题
- 学习笔记之资源操作相关函数
- 学习笔记之linux文件相关函数
- php学习笔记之--函数的声明与应用
- lua学习笔记3(lua中的文件相关的函数的应用)
- bash中时间相关函数的应用
- JavaScript笔记;函数的应用
- Xilinx SDK 初学之--API函数笔记(timer相关函数)
- 做OJ题常用的C语言函数——数字相关 (不断更新......)
- SAS学习笔记之函数应用
- 14、数据结构笔记之十四栈的应用之栈与递归之阿克曼函数
- 笔记:函数相关注意的地方
- C++学习笔记(第四章 函数的应用 递归函数 之四)
- 如何在Word中输入英语音标
- Java学习札记14:一个比较String、StringBuffer和StringBuilder之间效率差别的简单例子
- 当 Shell 遇见 Emacs -- 大话 Emacs Shell Mode(1)
- struts2 bean标签以及其他标签需要注意的地方
- JDBC上关于数据库中多表操作一对多关系和多对多关系的实现方法
- 做题笔记之-----母函数的相关应用
- Yii框架应用程序整合Ucenter实现同步注册、登录和退出等
- struts2.0 标签+ftl标签
- 当 Shell 遇见 Emacs -- 大话 Emacs Shell Mode(2)
- 3D显示原理
- 正向代理和反向代理
- linux操作系统编程——用exec函数族实现shell功能
- QT的信号和信号槽
- C# 3.0 拓展方法