文章目录
T1 Paths
关键词:斯坦纳树、DP 套 DP、最短路优化 DP
害怕
f
(
i
,
S
)
f(i,S)
f(i,S)表示使点
i
i
i与点集
S
S
S中所有点都连通的代价
考虑转移:
f
(
i
,
S
)
←
f
(
i
,
T
)
+
f
(
i
,
S
−
T
)
(1)
f(i,S)\leftarrow f(i,T)+f(i,S-T)\tag{1}\\
f(i,S)←f(i,T)+f(i,S−T)(1)
(1)是点集合并的转移
f
(
i
,
S
)
←
f
(
j
,
S
)
+
w
(
i
,
j
)
(2)
f(i,S)\leftarrow f(j,S)+w(i,j)\tag{2}\\
f(i,S)←f(j,S)+w(i,j)(2)
(2)是集合内更新的转移
T2 Quiz
树剖,线段树维护单点改和一个傻逼的区间查不大方便
然后我们按照套路就应该尝试根号类算法——分块了
根据要求的
∑
s
i
\sum s_i
∑si
对原编号进行分块
发现询问两端的零碎不好整
考虑对DFS序分块
此分块单点改,单点查
(还有一种方法是搞一个-1/1序列表示进出块)
T3 Racing
线段树分治
⋯
\cdots
⋯
害怕
咕