topcoder srm363(2007-08-12 11:31)

来源:互联网 发布:数据可视化编程 编辑:程序博客网 时间:2024/06/04 17:53
 
由于开赛前跟小用讨论了同样的题目, 结果250比较快出了, RP好啊, rating大升~
给出圆上偶数个点, 问可以有几种方法不相交地连线.
除了直接DP, 可以用公式C(n, n/2)/(n/2+1), 先把组合数先算出来就OK.
-
递归公式是w(n)=w(0)*w(n-2)+w(2)*w(n-4)+......+w(n-2)*w(0)      w(0)=1
-
以点对为单为就是w1(n)=w1(0)*w1(n-1)+w1(1)*w1(n-2)+......+w1(n-1)*w1(0)     w1(0)=1
-
以1为起点: w2(n+1)=w2(1)*w2(n)+w2(2)*w2(n-1)+......+w2(n)*w2(1)       w(1)=1
-
跟下面的catalan数递归公式...
h(n)= h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1)      h(1)=1
h(n)=c(2n-2,n-1)/n
h(n)=w2(n)
所以w(n)=w1(n/2)=w2(n/2+1)=h(n/2+1)=C(n, n/2)/(n/2+1)
原创粉丝点击