问题描述
我知道在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 (将#修改为@)