#include <stdio.h>
#include <iostream>
#include <cstring>
#include <memory.h>
using namespace std;
double p[25],q[25],dp[25][25],pp[25][25];
int main()
{
int n;
while (scanf("%d",&n)!=EOF){
for (int i=1;i<=n;i++)
scanf("%lf",&p[i]);
for (int i=0;i<=n;i++)
scanf("%lf",&q[i]);
memset(pp,0,sizeof(pp));
memset(dp,0,sizeof(dp));
for (int i=1;i<=n+1;i++)
{
pp[i][i-1]=q[i-1];
for (int j=i;j<=n;j++)
pp[i][j]=pp[i][j-1]+p[j]+q[j];
}
for (int i=1;i<=n+1;i++)
dp[i][i-1]=q[i-1];
for (int l=1;l<=n;l++)
{
for (int s=1;s+l-1<=n;s++)
{
int ten=s+l-1;
dp[s][ten]=999999.0;
最优二叉树的搜索期望代价
本文探讨了如何构建最优二叉搜索树,以达到最小化平均搜索期望代价的目标。通过分析样例输出,解析了二叉树的结构和搜索过程,揭示了最优解的关键特性。
摘要由CSDN通过智能技术生成