tg 81 solution

tg 81 solution

写在前面

题目难度按升序排序!

然后开始题解

T1

T2

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

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

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

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

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

可以解个不等式知道公差的区间落在[0,wn1]

所以枚举公差时间复杂度就是O(wn),

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

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

T3

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

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

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

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

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

T4

枚举每个W

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

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

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

然后加一块就没了

posted @   2K22  阅读(17)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示