救命啊,HULU的第三题怎么写。。。

第三题暴力法只A了9%,实在不知道怎么DP

有大佬么,求指教~~~
#hulu笔试##hulu#
全部评论
题意转化成:给一个数组然后找满足两个要求的最大的子段和,两个要求分别是:1、子段里的负数出现的次数不能超过m个,2、总和不超过K。 做法就是:转为前缀和数组pre_sum,m这个限制可以得到一个滑动窗口。在pre_sum上做这个滑动窗口,然后用一个带排序的可重集(在C++里是multiset)来维护窗口里的值。如果窗口的区间范围是[L,R],那就在multiset里找不大于pre_sum[L-1] + k 的最大的值X,用这个X-pre_sum[L-1]来更新答案。 应该就是这样了,一开始想复杂了,结果最后想出来没时间写了):
3 回复 分享
发布于 2022-03-15 20:51
dp只通过17%😅
1 回复 分享
发布于 2022-03-15 20:13
你这暴力法还不如 print(k) 还可以过 27 哈哈
1 回复 分享
发布于 2022-03-15 20:05
我也是用暴力法,全部条件加完也是9%,把最大收益k的条件去掉就变成64%了,很神奇...
点赞 回复 分享
发布于 2022-03-15 20:11

相关推荐

星期一的大老师:项目描述 和 技术栈单开一栏;八股文:算法与数据结构,计算机网络一定要写,操作系统不了解可以不写;Linux命令,Git,Docker基础命令和基本使用一定要写,要有实际使用场景的解决经验;项目的八股文上:redis 解决 缓存雪崩,缓存击穿,缓存穿透的解决方案,一个问题的不同方案可以一起用,不需要重复在两个项目写。第二个项目换一个。小厂可以投一投
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务