20210930上午
最短路加背包。。。
T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | |
---|---|---|---|---|---|---|---|---|
预测 | 100 | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
一测 | 0 | 100 | 100 | 100 | 100 | 100 | 100 | 33 |
T1:
二分答案,每次
O
(
n
)
O(n)
O(n)处理前缀和再
O
(
m
)
O(m)
O(m)统计就行。
s
u
m
[
r
i
]
−
s
u
m
[
l
i
−
1
]
sum[r_i]-sum[l_i-1]
sum[ri]−sum[li−1]写成
s
u
m
[
r
i
]
−
s
u
m
[
l
i
−
1
]
sum[r_i]-sum[l_{i-1}]
sum[ri]−sum[li−1]。。。
T2:
带负权,
S
P
F
A
SPFA
SPFA即可。
T3:
d
i
j
s
k
t
r
a
dijsktra
dijsktra转移时记录一下上一位置,之后跳就行。
T4:
完全背包板子。
T5:
严格意义上是树上依赖背包,但因为只有两层而且顶多两个子节点,所以枚举所有主件,然后依次把主件,主件+附件1,主件+附件2,主件+附件1+附件2放入背包即可。
T6:
最短路板中板。
T7:
树上背包,一开始把没有附属的国家与虚根
1
1
1连起来,
f
u
,
i
f_{u,i}
fu,i表示在
u
u
u子树内得
i
i
i张选票的最小开销,有转移
f
u
,
i
=
min
(
f
v
,
j
+
f
u
,
i
−
j
)
f_{u,i}=\min({f_{v,j}+f_{u,i-j}})
fu,i=min(fv,j+fu,i−j),依次枚举子节点转移即可,最后加上
f
u
,
s
i
z
u
=
s
u
f_{u,siz_u}=s_u
fu,sizu=su,注意答案为
max
i
=
m
i
≤
n
f
1
,
i
\max_{i=m}^{i\le n}f_{1,i}
maxi=mi≤nf1,i而非
f
1
,
m
f_{1,m}
f1,m。
T8:
贴两张原来讲的时候的
P
P
T
PPT
PPT。
总结:都是比较容易考的,要多熟练。