本文出自 http://blog.csdn.net/shuangde800
------------------------------------------------------------------------------------------------
题意
给一个序列即可 S = (e1,e2,...,en),且e1<e2<..<en.要把这些序列构成一个二叉搜索树。
二叉搜索树是具有递归性质的,且若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它
的右子树不空,则右子树上所有结点的值均大于它的根结点的值。
因为在实际应用中,被访问频率越高的元素,就应该越接近根节点,这样才能更加节省查找时间。
每个元素有一个访问频率f(ei),当元素位于深度为k的地方,那么花费cost(ei) = k.
所有节点的花费和访问频率乘积之和为:
sum = f(e1)*cost(e1) + f(e2)*cost(e2) + ... + f(en)*cost(en)
我们叫sum值最小的二叉搜索树为最优二叉搜索树。
按顺序给出集合序列S,和每个元素的频率f(ei),求sum的最小值
思路
因为他题目给的序列是从小到大的,那么对于这个序列的任意一个ei,设ei为根节点,
我们可以知道在序列中ei左边的所有数会构成ei的左子树,ei的右边的所有数会构成
ei的右子树。
那么我们就可以枚举根节点,然后选择值最小的一种方案。
说到这里,再结合题目的数据范围,那么很容易可以想到就是区间dp了!
设f(i, j)表示序列区间(i, j)的数构成的一棵最优二叉查找树的值,
当枚举根节点ek时,它的左子树(wi,wi+1,..,wk-1)的所有节点的深度都会增加1,
那么左子树增加sum(w1,w2,...wk-1)
右子树(ek+1, ek+2,..ej)的值也会增加sum(ek+1,ek+2,...,ej).
可以看出,那么总共会增加sum(i, j) - wk
那么就可以推出状态转移了:
f(i, j) = min{ f(i,k-1)+f(k+1,j)+sum(i, j) - wk | i<=k<=j}
代码
<script src="https://code.csdn.net/snippets/859.js" type="text/javascript"></script>
分享到:
相关推荐
### 最优二叉查找树(Optimal Binary Search Tree) #### 概述 最优二叉查找树(Optimal Binary Search Tree, OBST)是计算机科学领域内一种高效的搜索数据结构,其设计目标是在已知各节点访问概率的情况下,构建...
最小成本二分检索树optimal binary optimal binary
最优二叉搜索树(Optimal Binary Search Tree, OBST)是一种在二叉搜索树的基础上,通过优化节点的排列顺序以达到高效查找性能的数据结构。它不仅保持了二叉搜索树的特性,即左子节点的值小于根节点,右子节点的值...
3. 最优二叉搜索树(Optimal Binary Search Tree): 最优二叉搜索树是相对于普通二叉搜索树的概念,它是指根据特定的权值分布(即不同节点被查找的概率),构造出平均查找成本最低的二叉搜索树。在最优二叉搜索树...
这篇文章的主题是关于多传感器信息最优融合卡尔曼滤波器的研究,该滤波器结合了卡尔曼滤波技术,用以解决多传感器数据融合问题。为了更好地解释其内容,我们需要对文章中涉及的关键知识点进行详细解读。...
最优二叉搜索树(Optimal Binary Search Tree, OBST)是在给定一组查询频率的情况下,设计的搜索效率最高的二叉搜索树。它的目标是最小化平均查找时间,这通常通过平衡树的高度和查询频率分布来实现。 创建最优二叉...
### H-Inf Optimal Control:核心概念与应用 #### 一、引言 《H-Inf Optimal Control》是一本由Tamer Başar与Pierre Bernhard合著的经典著作,首次出版于1995年,并在后续再版中保持了其理论与实践价值。本书系统...
**最优二叉搜索树(Optimal Binary Search Tree)** 最优二叉搜索树,又称为最优点缀树,是一种特殊的二叉查找树,它的每个结点都包含一个关键字,并且是有序排列的。这种树在搜索操作时能提供最小的平均查找时间。...
**最优二叉搜索树(Optimal Binary Search Tree)** 最优二叉搜索树,也被称为最优点搜索树,是一种特殊的二叉查找树,它的设计目的是为了在执行搜索操作时尽可能地减少平均查找时间。这种树的构造是基于给定的一组...
### 最优二叉检索树(Optimal Binary Search Tree) #### 概述 最优二叉检索树(Optimal Binary Search Tree, OBST),是一种特殊的二叉树结构,它旨在通过优化节点布局来降低查找数据时所需的平均成本。在构建...
针对这种情况,“前端项目-optimal-select”应运而生,旨在为开发者提供一种高效、健壮的CSS选择器获取方案。 项目“optimal-select”的核心思想在于优化CSS选择器的性能。CSS选择器的复杂性不仅会拖慢浏览器解析...
《基于补丁的近最优图像去噪》(Patch-based Near-Optimal Image Denoising)是一种先进的图像处理技术,主要用于去除图像中的噪声,提高图像质量。该方法利用图像中的局部相似性,即图像中相邻区域(补丁)的像素值...
Knowledge and mathematical programming-based optimal scheduling for byproduct gas system in steel industry
使用QL方法对CSTR系统进行最优控制,以保持温度和浓度接近稳态值。 连续搅拌釜式反应器(CSTR)是化学工程中的关键系统,用于模拟各种... This project demonstrates the application of Optimal Control techniques
### 最优容量分配在多拍卖电力市场中的不确定性研究 #### 摘要与背景 本文主要探讨了在竞争性电力市场环境下,如何最优地分配能源/产能以最大化生产者的利润。随着电力市场的开放和竞争机制的引入,生产者面临着...
matlab匹配滤波代码在MATLAB中使用匹配滤波器的最佳二进制脉冲接收器 设计了一种最佳接收器,用于接收添加了噪声的极性二进制极性编码信号。 对二进制极性编码信号使用了匹配的滤波和阈值检测。...
本文介绍了一种名为时间最优路径参数化(Time-Optimal Path Parameterization, TOPP)的方法,旨在为这一难题提供一种高效且实用的工具。 #### 动力学约束下的路径规划挑战 时间最优路径参数化是指给定一条路径,...
【时间最优轮廓控制】是工业双轴龙门系统中的关键技术,主要关注如何在保证产品精度的同时提高生产效率。元等人在2017年的研究中,针对这一问题提出了一个高效的时间最优轨迹规划的解析解决方案。...
#### 一、应用最优估计(Applied Optimal Estimation) - **书籍信息**:本书由MIT出版社出版,2001年第16次印刷版本,作者为Arthur Gelb等,扫描版并经过OCR处理。 - **内容概述**:《应用最优估计》是一本关于...