
组合数学
demo
这个作者很懒,什么都没留下…
展开
-
Catalan数
<br />一、公式意义<br /><br />c(a,b)表示组合 <br />C(a)表示catalan数<br /><br />1.n+2边形的三角剖分数h(n+2)=C(n)<br /><br />2.n个1和n个0组成的长度为2n且任意位置处序列1的个数多于0的个数的排列数P(2n)=C(n)=c(2n,n)-c(2n,n-1)<br />同2的限制条件的还有(x,y序列,火车进站(栈),找钱)<br /><br />3.n个数相乘方案数Pn=h(n+1)(等价于有n个叶子结点的二叉树数)<br原创 2011-03-10 22:02:00 · 666 阅读 · 0 评论 -
catalan数(poj1095)
这题个人感觉算是递归的经典吧!这里给出一个这题的解题报告链接,个人感觉已经写得很好了。http://blog.youkuaiyun.com/lvlu911/archive/2010/03/28/5425974.aspx提示大家要注意的几点是要紧紧抓住递归方程的定义,这句:递归函数fun(n,k)。即打印出拥有n个结点树的第k种状态。可能大家对这句话不是怎么理解:对于s,该树的左子树编号为(s-1)/L[n-i-1]+1,右子树编号为(s-1)% L[n-i-1]+1我个人的理解是把状态数s先看成L[n-i-1]进制的数原创 2011-03-13 15:49:00 · 751 阅读 · 0 评论 -
大数乘除(hdoj1023)
通过这题深深的理解了算法的重要性。 深深理解了算法没有绝对最优,只有相对,要针对具体情况设计相应的算法,这才是王道!之前做死的写大数*大数,大数/大数,好不容易写出来,TLE,改成10^10进制,在自己机器上运行居然比10进制的还慢!后来发现是大数/大数出的问题,方法是用减法模拟除法,然后就悲剧了如果是像10^10/2这样很小的数,就这一个数都会TLE. 后来仔细观察其实没必要用大数*大数,大数/大数,只要大数/(小数)就行。然后10^10进制果断0MS过了。因为c[i]=c[i-1]*(4*i-2原创 2011-03-13 16:03:00 · 802 阅读 · 0 评论 -
全排列完美哈希
1.组合数学。强调不一样的是,组合数学以数作为逆序的依据,bk表示与数k逆序的数有多少个0因此转换的公式是:sum=bn*(0)!+bn-1*(1)!+……+bk*(n-k)!+……+b2*(n-2)!+b1*(n-1)!bn=0恒成立sum最大值为当bk取n原创 2011-08-03 08:48:57 · 884 阅读 · 0 评论