不相交的稀疏表DST与段树有何不同?

问题描述

我知道在O(1)中处理幂等函数的简单稀疏树与分段树完全不同,而函数f可以是最小函数

简单稀疏树的形成如下

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

a = list("ABC") * 4
c = list("DE") * 6
score = np.random.randint(-5,5,12)
df = pd.DataFrame({"col1": a,"col2": c,"score": score})
df['col1'] = pd.Categorical(df['col1'])
df['col2'] = pd.Categorical(df['col2'])

palette = sns.color_palette("tab10")
ax = sns.pointplot(data=df,x="col2",y="score",hue='col1',palette=palette)

pos_after_last_x = len(df['col2'].cat.categories) - 1 + 0.05
last_x_cat = df['col2'].cat.categories[-1]
for cat,color in zip(df['col1'].cat.categories,palette):
    mean_score = df[(df['col1'] == cat) & (df['col2'] == last_x_cat)]['score'].mean()
    ax.text(pos_after_last_x,mean_score,cat,color=color)
plt.show()

但是不相交的稀疏树(DST)的形成如下,就像使用对分技巧的分段树一样。

for (int i = 0; i < N; i++)
    st[i][0] = f(array[i]);

for (int j = 1; j <= K; j++)
    for (int i = 0; i + (1 << j) <= N; i++)
        st[i][j] = f(st[i][j-1],st[i + (1 << (j - 1))][j - 1]);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...