摘要: 题意:用N个点组成一棵深度为K的二叉树,求一共有几种方法?分析:哎,感觉自己好水呀,借鉴了USACO上面的题解才过的,自己想了好久都没什么思路设dp[i,j]表示用i个点组成深度最多为j的二叉树的方法数,(注意,这里i必定是奇数),则:dp[i,j]=∑(dp[k,j-1]×dp[i-1-k,j-1])(k∈{1..i-2})边界条件:dp[1,i]=1我们要求的是深度恰好为K的方法数S,易知S=dp[n,k]-dp[n,k-1]。但需要注意的是,如果每次都取模,最后可能会有dp[n,k]<dp[n,k-1],所以可以用S=(dp[n,k]-dp[n,k-1]+v) mod v 阅读全文
posted @ 2011-11-15 00:45 枕边梦 阅读(217) 评论(0) 推荐(0) 编辑