五边形数定理

五边形数定理

转自《维基百科》 http://zh.wikipedia.org/wiki/五邊形數定理

五边形数定理是一个由欧拉发现的数学定理,描述欧拉函数展开式的特性[1] [2]。欧拉函数的展开式如下:

亦即

欧拉函数展开后,有些次方项被消去,只留下次方项为1, 2, 5, 7, 12, ...的项次,留下来的次方恰为广义五边形数

若将上式视为幂级数,其收敛半径为1,不过若只是当作形式幂级数formal power series)来考虑,就不会考虑其收敛半径。

和分割函数的关系

欧拉函数的倒数是分割函数母函数,亦即:

其中为k的分割函数。

上式配合五边形数定理,可以得到

考虑项的系数,在 n>0 时,等式右侧的系数均为0,比较等式二侧的系数,可得

因此可得到分割函数p(n)的递归

以n=10为例

这样就能在log(n)的时间下得到p(n)的值。

五边形数定理

时间: 2024-09-29 22:30:11

五边形数定理的相关文章

hdu4651(广义五边形数 & 分割函数)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:f(x) 为将 x 分成其他数和的形式的方案数.对于 t 组输入,输出 f(xi). 思路:直接套公式即可. 1.广义五边形数qn 为 (3*n*n-n)/2 和 (3*n*n+n)/2q1 = 1, 2 q2 = 5, 7q3 = 12, 15...2.分割函数p(n) = sigma(-1)^(i-1)p(n-qi) (qi <= n) //这里的 qi 对应前面的两个数 代码: 1

五边形数和两个递归式

五边形数 五边形数是对每条边上有 \(n\) 个点构成的五边形的总点数的数列的称呼. 由上图,可以得出这个数列的递归式. \[ \begin{aligned} a_1&=1 \a_n&=a_{n-1}+(3n-2) \\end{aligned} \] 解递归式得到通项公式 \[ \begin{aligned} a_n&=\sum _{i=1}^n(3i-2)=\frac{n(3n-1)}{2} \end{aligned} \] 它也能通过三个三角形数得到. 狭义的五边形数中 \(n

hdu 4651 Partition (利用五边形定理求解切割数)

下面内容摘自维基百科: 五边形数定理[编辑] 五边形数定理是一个由欧拉发现的数学定理,描写叙述欧拉函数展开式的特性[1] [2].欧拉函数的展开式例如以下: 亦即 欧拉函数展开后,有些次方项被消去,仅仅留下次方项为1, 2, 5, 7, 12, ...的项次,留下来的次方恰为广义五边形数. 当中符号为- - + + - - + + ..... 若将上式视为幂级数,其收敛半径为1,只是若仅仅是当作形式幂级数(formal power series)来考虑,就不会考虑其收敛半径. 和切割函数的关系

hdu 4651 Partition (利用五边形定理求解分割数)

以下内容摘自维基百科: 五边形数定理[编辑] 五边形数定理是一个由欧拉发现的数学定理,描述欧拉函数展开式的特性[1] [2].欧拉函数的展开式如下: 亦即 欧拉函数展开后,有些次方项被消去,只留下次方项为1, 2, 5, 7, 12, ...的项次,留下来的次方恰为广义五边形数. 其中符号为- - + + - - + + ..... 若将上式视为幂级数,其收敛半径为1,不过若只是当作形式幂级数(formal power series)来考虑,就不会考虑其收敛半径. 和分割函数的关系 欧拉函数的倒

定理总结

余数: 1>同余:若a , b除以c的余数相等,则a与b相对于除数c是同余的,即a≡ b(mod c)! 2>同余的两个数的差能整除除数:如 10 % 3 = 1, 7 % 3 = 1,10≡ 7 (mod 3)则(10 - 7 )% 3 = 0.3>余数可加性(可减性同):两个数对于某个除数的余数和对此除数的余数等于两个数的和对此除数的余数!如 (11 % 3 + 8 % 3 )% 3= (11 + 8) % 34>两个数对某个除数的余的乘积对此除数的余数等于两个数的乘积对此除数

整数划分(允许相同),时间复杂度O(n*sqrt(n))

1259 整数划分 V2 基准时间限制:1 秒 空间限制:131072 KB 将N分为若干个整数的和,有多少种不同的划分方式,例如:n = 4,{4}  {1,3}  {2,2}  {1,1,2} {1,1,1,1},共5种.由于数据较大,输出Mod 10^9 + 7的结果即可. Input 输入1个数N(1 <= N <= 50000). Output 输出划分的数量Mod 10^9 + 7. Input示例 4 Output示例 5 五边形数定理 #include<cstdio>

hdu 4658 Integer Partition

http://acm.hdu.edu.cn/showproblem.php?pid=4658 这道题不会做,看着别人的写的.这道题求的是一个数的划分,但是划分中一个数不能重复k次,用到了五边形数定理,没看懂. 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #define maxn 100005 5 using namespace std; 6 const int mod=1000000

AlvinZH掉坑系列讲解

本文由AlvinZH所写,欢迎学习引用,如有错误或更优化方法,欢迎讨论,联系方式QQ:1329284394. 前言 动态规划(Dynamic Programming),是一个神奇的东西.DP只能意会,不可言传.大家在做DP题的时候一定要理清思路,一般是先不管空间,毕竟以空间换时间,大多数题都是先卡时间再卡空间的. DP具备的两个要素:最优子结构和子问题重叠,见<算法导论>225页.简单来讲就是问题是一个由多决策产生最优值的最优化问题. 最优化原理:其子问题的最优会导致全局最优,具有最优子结构的

整数拆分问题的四种解法【转载】

http://blog.csdn.net/u011889952/article/details/44813593 整数拆分问题的四种解法 原创 2015年04月01日 21:17:09 标签: 算法 / 母函数定理 / 五边形数定理 / acm / 动态规划 整数划分问题是算法中的一个经典命题之一 所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+m3+....+mi;(其中mi为正整数,并且1<=mi<=n),则{m1,m2,m3,....,mi}为n的一个划分. 如果{m1,