第十次

A

注意 $n\le 2$。

B

枚举最小值,算最大值最小是多少。

把每个集合排序,用一个堆维护当前选出的集合,初始把所有集合的最小值加进去。

考虑枚举下一个最小值,需要弹出当前最小值,然后加入当前最小值在其集合中的后继。

每次更新答案即可。

C

每条边都会被算 ${n-2\choose k-2}$ 次,所以只需要算每条边只算一次的结果,即 $\sum\limits_{i=1}^n\sum\limits_{j=i+1}^n f(i,j)$。

然后用一个神秘 DSU on tree 维护之,反正我不会写。

D

线段树上每个节点维护一个 $\{[l,r]\}$,表示这个节点内宝石能表示出的区间集。

考虑 push up,可以发现 $S_1,S_2$ 的合并结果为 $\{[l_1+l_2,r_1+r_2]|[l_1,r_1]\in S_1,[l_2,r_2]\in S_2\}$,

之后扫描线去掉交集即可,随机数据能过。

posted @ 2023-07-31 15:02  Jijidawang  阅读(11)  评论(0)    收藏  举报  来源