如何解决不相交的稀疏表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 举报,一经查实,本站将立刻删除。