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
对答案的贡献
然后加一块就没了