关注
3、给一个由大小写字母组成的字符串,每次删除一个最长的且最左侧的一个连续子串(需要由相同字母构成),求最小删除次数。模拟题,暴力模拟是O(n^2),据说这题暴力是可以AC的。一种低复杂度解法是把连续的部分组织成链表,比如aBBa变成 (a, 1) -> (B, 2) -> (a, 1) 这样,链表的好处是可以很快地删除并且合并两个端点。现在问题就是怎么找最长的那一个部分(比如之前的例子就是(B, 2))。可以考虑用线段树维护最大值,然后通过二分的形式把最大且最左的那一个部分给找出来。找出来之后更新链表,然后同时更新线段树。复杂度O(nlog^2n)。
4、给一个正整数组成的列表,找出一个长度不小于m的子段使得其中平均值最大。暴力据说可以骗不少分。首先区间和转前缀和,设前缀和为S[i],那么平均值就是(S[r] - S[l]) / (r - l)。给定一个平均值k,另(S[r] - S[l]) / (r - l) >= k 则有 S[r]-kr >= S[l]-kl。这样给定k,我们可以很快地找出满足上式成立的最大区间长度 t=r-l,而t关于k是单调的。这样二分答案k,然后对于每一个k找出这个t,如果t<m说明k找大了,就二分左半区间,否则二分右半区间。由于这个找t的过程需要算一个前缀最小值并且在其中二分,复杂度就是O(nlog^2n)。
查看原帖
2 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
2025-12-17 17:53
门头沟学院 Web前端 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你不能接受的企业文化有哪些 #
1126次浏览 26人参与
# 应届生第一份工作最好去大厂吗? #
123246次浏览 1088人参与
# 有深度的简历长什么样? #
1209次浏览 22人参与
# 非技术er求职现状 #
126872次浏览 771人参与
# 入职第一天 #
1128次浏览 17人参与
# 工作后会跟朋友渐行渐远吗 #
54719次浏览 400人参与
# CVTE工作体验 #
17241次浏览 39人参与
# 双非本科的出路是什么? #
192073次浏览 1514人参与
# 我的上岸简历长这样 #
756741次浏览 11283人参与
# 帆软软件工作体验 #
8511次浏览 34人参与
# 运营/市场/管培生岗位评价 #
28866次浏览 179人参与
# 多益网络求职进展汇总 #
60151次浏览 272人参与
# 小米求职进展汇总 #
997267次浏览 6498人参与
# 上班苦还是上学苦呢? #
317562次浏览 2047人参与
# 秋招想进国企该如何准备 #
119610次浏览 599人参与
# 秋招的破防瞬间 #
494531次浏览 2588人参与
# 硬件人的简历怎么写 #
320929次浏览 3070人参与
# 苦尽甘来时,再讲来时路 #
67285次浏览 940人参与
# 正在春招的你,也参与了去年秋招吗? #
342559次浏览 2575人参与
# 百度工作体验 #
297739次浏览 2214人参与