tg 81 solution

tg 81 solution

写在前面

题目难度按升序排序!

然后开始题解

T1

T2

首先你知道第\(i\)项的位置,只需要知道公差就可以知道首项

然后如果知道首项和公差就可以直接确定所有项

考虑常见的转换题意,最小改动就是最多不改动

然后我们考虑枚举公差,算出每一项对应的首项

开桶维护每个首项的出现次数,取最大值更新答案

可以解个不等式知道公差的区间落在\([0,\lfloor\frac{w}{n-1}\rfloor]\)

所以枚举公差时间复杂度就是\(O(\frac{w}{n}),\)

每次暴力更新首项,时间复杂度\(O(n)\),所以这一部分时间复杂度是\(O(w)\)

加上开桶维护公差为\(0\)\(O(n)\),总时间复杂度\(O(n+w)\)

T3

首先如果关键点的子树内有关键点,

那么我们先不认为它是关键点

然后如果一个点的子树内所有点不是关键点,删掉即可

然后考虑一个树上背包的常见套路转移即可

我真没看出来这玩意和树上背包有什么关系

T4

枚举每个W

前缀和维护在它前面的L的个数,

后缀和维护每个在它后面的S的个数

然后乘一块,就是这个W对答案的贡献

然后加一块就没了

posted @ 2022-11-08 16:00  2K22  阅读(28)  评论(0)    收藏  举报