母函数基础
来源:互联网 发布:冰川网络上市股价多少 编辑:程序博客网 时间:2024/04/28 21:06
关于母函数的基本定义和初步认识参见杭电lcy的课件 (传送门) 另外还有一篇比较好的文章(传送门)。听着貌似不是那么简单的东西,其实很简单,看一下就懂了。
母函数解决的主要是这样一个问题:几组不同的数,每组选取一个数,相加得到一个结果,问可以有哪些结果并且每种结果的组合方案有几种。巧妙地利用了多项式的乘法以及多项式的化简(合并同类项)来解决问题。
下面是几道题目:(源自于HDU的DIY:http://acm.hdu.edu.cn/diy/contest_show.php?cid=9068)
Problem A:问一个整数有多少种拆分方法,如:4=4;4=1+3;4=2+2;4=1+1+2;4=1+1+1+1,即4有5种拆分方法
解析:这题最早做的时候用的是DP,是一种比较高效的方法,母函数也可以拿过来解这道题。
Problem B:问用289以内的平方数构成所给的数的方案有多少,与上题雷同
Problem C:有1 2 5三种硬币,给你每种硬币的个数,问最小的不能得到的钱数是多少
解析:如对面值为2的硬币,个数有n个,则其所对应的多项式为(1+x^2+x^3+.....+x^(2*n))
另外,这题用多重背包做更快更好
PROBLEM D:石子分堆问题,若干已知重量的石头,尽可能的平分 这题本来就是一个背包,母函数也可以解决
Problem E:求水果拼盘的方案数 要求水果的数量是a到b 那么其所对应的多项式为(x^a+..+x^b)
Problem F: 有一个天平(不带游标) 几个已知重量的砝码 问是否可以测量【1,s】内的重量 由于砝码不是只能放在一边的,所以用母函数的时候要加上负幂的情况,而解决负幂的一种方法就是将每一项的指数都加上s,这样就保证没有负幂了。最后结果判断的时候再减去s即可
- 母函数基础
- 母函数 基础
- 基础母函数
- 母函数基础
- 基础母函数模版
- 母函数基础
- 数学基础-母函数
- 母函数 基础入门
- 基础母函数1001
- 基础母函数1002
- 基础母函数1003
- 基础母函数1004
- 基础母函数1005
- NYOJ588(母函数基础)
- 函数基础
- 函数基础
- 函数基础
- 基础函数
- VC6.0对话框移植到VS2005平台下
- 使用cuda_vs_wizard_w64 2.2版,建cuda工程时出现错误:“Err source:CreatcustomProject。”
- Writing device drivers in Linux: A brief tutorial (1)
- MySQL不支持InnoDB的解决方法
- 第一章SayHello程序
- 母函数基础
- 配 samba ,实现linux和windows的共享 共享不应该包含可执行文件
- 接口
- hhc.exe制作chm
- vc++中如何产生任意区间的随机数
- s2sh架构之总体概述
- 背包问题小结
- 我的Ununtu10.10和Nvida显卡驱动安装成功记
- php正则表达式