Math
小小程序师
我的微信公众号:CodingRush
我的微博:小小程序师 http://weibo.com/2110664035/
展开
-
母函数简介及简单使用(附HDU 1284 钱币兑换问题 解题报告)
通常来说,母函数的思想就是使用幂级数来表示一个离散数列。例如对于一个数列是a={a0,a1,a2,-------ak},那么我们可以母函数的定义就是G(x)=a0+a1*x+a2*x^2+a3*x^3------an*x^n,这里的G(x)就是数列a的母函数。 母原创 2011-09-18 22:25:23 · 1233 阅读 · 0 评论 -
Polya 定理 (附POJ 1286 Necklace of Beads 解题报告)
Polya定理: 设G是一个p个对象的置换群,那么用k种颜色对p个对象进行染色!当一种方案在群G的作用下变为另外一种方案,那么我们这个时候就认为这两个方案是一样的。那么在这种规定下不同的染色方案为:n=(Ek^m(f))/|G|,其中m(f)是置换f的循环节。原创 2011-09-20 22:44:21 · 2148 阅读 · 1 评论 -
贝蒂定理整数划分问题(博弈 POJ 1067)
我们知道贝蒂定理是描述一类整数划分的方法,贝蒂定理如下:1/a+1/b=1,这里的a,b都是正的无理数,那么我们就有P={[ma]|m为正整数},Q={[mb]|m为正整数},此时P与Q的交为空集,P与Q的并正好就是Z+这个集合。 对于POJ1067这道题来说,很明显就是博弈,我们使用sg函数爆出sg值之后就会发现,sg[i][j]为0当且仅当i,j正好是Z+的一个划分。并且原创 2011-10-24 12:24:06 · 2345 阅读 · 0 评论 -
约瑟夫问题的数学解法
我们用较为简洁的语言描述一下约瑟夫问题: 有n个人从0----n-1进行编号,然后进行0----m-1的报数,报数到m-1的人出列,然后从下一个人继续开始新一轮的报数,最后剩下一个人为胜者。 其实我们可以重新看待一下约瑟夫问题,当没删除一个人之后,我们从这个人后面的那个人重新开始0----n-2的编号,然后删除(m-1)%(n-1)的人,我们看具体的一个例子就比较好原创 2012-01-02 01:14:41 · 1959 阅读 · 2 评论 -
HDU 1214 圆桌会议 简单数学题
题意: 这道题的题意是说给你n个数顺时针围成一个圈,用最少的相邻交换的次数,将其转变成为逆时针的一个圈。我们从较小的例子进行考虑,当n为偶数的时候,我们将前n/2 = m个数顺序全反最少的交换次数为m*(m-1)/2,那么将n个数最小的交换次数便是m*(m-1)。而对于n为奇数的时候,我们首先将最大一个数转移到对应的逆时针的圈的交换次数为n/2,剩余的(n-1)个数同偶数的情况是相原创 2012-09-15 23:28:25 · 1279 阅读 · 0 评论 -
POJ 2551 简单数学(取模的性质)
这道题是说要找到最小的全部由1组成的能被n整除的数。 显然我们知道这样的定理: (x1 + x2 + x3 + ...... + xk)%n = ((x1%n) + (x2%n) + (x3%n) + ..... + (xk%n))%n 同样的道理,我们所求的只包含1的整数就可转化成为1 + 10 + 100 + 1000 + ....原创 2012-12-29 15:28:27 · 1417 阅读 · 1 评论 -
组合数学 容斥原理 专题
容斥原理HDU 1796这道题的题意是说给你一个集合,总共有15个元素,每个元素大小小于等于20;问从1至n的数中,能整除集合中任意一个数的总的个数为多少?那么根据容斥原理,我们知道,答案为整除一个元素的数个数之和,减去同时整除两个元素的整数个数之和;加上同时整除三个元素的整数个数之和等等。。。这个枚举直接写一个dfs就行了。可以参考一下我的代码,写的比较简洁。#inc原创 2013-10-13 22:40:49 · 1719 阅读 · 0 评论 -
HDU 5019 简单数学题
一道简单的数学题,考察最大公约数的性质,挺有意思的。原创 2014-09-27 22:17:00 · 1960 阅读 · 0 评论