2011年11月28日
摘要: UVA_10304 一开始没有理解二叉搜索树的特点。 这个题目的二叉搜索树的左子树的节点一定比当前节点小,右子树的的节点一定比当前节点大。这样我们对于题目给出的线性表,如果选定了一个根节点,那么根节点左边的一定都是左子树的,右边的一定都是右子树的。就每一个子树来看,也有这样的特点。 于是我们取f[i][j]表示i到j这个子树的最优搜索树的期望,那么f[i][j]=min{f[i][k-1]+f[k+1][j]+sum(i,j)-a[k]},其中a[k]表示访问k节点的频率,sum(i,j)表示i到j的访问频率之和。我们每选定一个相对的根节点,那么相当于原来独立的左右两个子树的层数均增加了... 阅读全文
posted @ 2011-11-28 22:53 Staginner 阅读(766) 评论(0) 推荐(0) 编辑