首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
れもんじゆん
2020-12-08 17:40
曲阜师范大学 C++
关注
已关注
取消关注
怎么快速求数列(A[i]+A[j])*(j-i)的最大值
注:1.数列的长度能达到1e6
2.j>i
提示
全部评论
推荐
最新
楼层
Maddison10
北京市十一学校
希望能对您有帮助
10
回复
分享
发布于 2020-12-08 19:20
Maddison10
北京市十一学校
可以用李超树维护凸壳
10
回复
分享
发布于 2020-12-08 19:19
Maddison10
北京市十一学校
😁😁😁
9
回复
分享
发布于 2020-12-08 19:20
Maddison10
北京市十一学校
😂😂😂
9
回复
分享
发布于 2020-12-08 19:20
Maddison10
北京市十一学校
您看看理解吗?
9
回复
分享
发布于 2020-12-08 19:20
Maddison10
北京市十一学校
🤣🤣🤣
9
回复
分享
发布于 2020-12-08 19:20
Maddison10
北京市十一学校
直接上李超树就ok了
9
回复
分享
发布于 2020-12-08 19:19
Maddison10
北京市十一学校
然后推式子化成kX+b的形式
9
回复
分享
发布于 2020-12-08 19:19
Maddison10
北京市十一学校
主要有一个A[i]*j的东西
9
回复
分享
发布于 2020-12-08 19:19
Maddison10
北京市十一学校
这个李超树随便维护吧
9
回复
分享
发布于 2020-12-08 19:19
牛客407119042号
复旦大学 算法工程师
由于同时和a[j]和j有关所以不能单纯维护当作斜率相关的问题来做 本问题是经典的决策单调性问题。 考虑我们选择j时如果j1>j2且a[j1]>a[j2]显然j2时候不如j1,因此我们用单调队列筛掉这些不符合条件的j2,最后得到一个单调下降子序列。 同理,选择i时如果i1<i2且a[i1]>a[i2]显然i2时候不如i1,帅选后i的选择区域也将在一个单调上升子序列中。 现在在一个单调上升子序列中选择i,一个单调下降子序列中选择j。 接下来考虑j对i1和i2的值f(i1,j)=(A[i1]+A[j])*(j-i1),f(i2,j)=(A[i2]+A[j])*(j-i2)作差 不妨设i1>i2 f(i1,j)-f(i2,j)=j*(A[i1]-A[i2])-(A[i1]*i1-A[i2]*i2)-A[j]*(i1-i2) =(A[i1]-A[i2],i1-i2)·(j,-a[j])-(A[i1]*i1-A[i2]*i2) 显然,随着j的增大f(i1,j)-f(i2,j)单调递增,也就是说,对于任意i1,i2存在一个在j0之后 (f(i1,j)-f(i2,j))*(j-j0)>=0 故我们在i待选择的单调上升子序列中的每个相邻元素计算其分界的j即可。具体实现就是用一个单调栈维护每个分界点,每次对相邻两个元素二分其分界点,然后维护单调栈。 1.得到i的候选序列I={i1,i2...ip} 2.得到j的候选序列J={j1,j2...jq} 3.初始单调栈s为空 4.枚举x,根据f(ix,j)-f(ix+1,j)的算出分界点jx,将jx比栈顶元素小,不断把元素踢出,然后加入jx 5.根据单调栈中的元素,得到每个序列J最优的决策ix,计算,并求最大值。 PS:这个问题转化称这样可能更好理解,二维的点集A={(i,a[i])},B={(i,-a[i])},在A中取一个点,在B中取一个点,最后要求其面积最大,当然最后做法本质没区别
3
回复
分享
发布于 2020-12-08 21:25
happypeople
湖南工业大学 C++
(A[i]+A[j])*(j-i) = A[i]*i - j*A[j] 很明显,j*A[j]是一个定值,枚举i=[1,n],然后记录前缀最小的 j*A[j]就行了
点赞
回复
分享
发布于 2020-12-08 18:27
暂无评论,快来抢首评~
相关推荐
昨天 13:25
大连民族大学 Java
数数科技aicoding三面(已oc)
📍面试公司:数数科技🕐面试时间:2026.4.27💻面试岗位:aicoding实习生前两面反馈的都很快,基本当天出结果,4.23一面完就约二面了,4.24二面结束约4.27三面。总共是三面➕hr电话面试体验终面整体节奏很快,没有废话,面试官非常务实,全程围绕 **"你做过什么、能做什么、能不能长期干"** 三个核心问题展开。没有考任何八股文,所有问题都基于你的真实经历,能明显感觉到他是在判断你能不能快速融入团队、产出价值。面试官话不多,但会认真听你讲,偶尔会追问关键细节,最后会明确告诉你团队的业务方向和发展机会。面试全流程复盘一、自我介绍常规 1 分钟精简自我介绍二、...
27届实习投递记录
点赞
评论
收藏
分享
04-03 15:12
已编辑
门头沟学院 Java
字节跳动?
我是学院🐭,没面过大厂,官网投的都是秒挂,这是拿我刷kpi的吗?要尝试一下吗?4.3更:g的不能再g
长矛战士966:
80%你可能会失败,但是你将100%获得成长
点赞
评论
收藏
分享
05-18 16:33
四川大学 Java
就职经验分享-面试篇
本来面试篇打算和笔试篇写在一起的,没想到一不留神码的越来越多,索性拆成两篇了,看来我的分享欲还真是旺盛呀。一、面试,建议提前五到十分钟进入面试间 1、自我介绍: 开场一般是自我介绍,一分钟左右,建议同学们自己找ai写一个,然后一定要背下来,如果不熟悉的话容易卡壳,打断自己的节奏。自我介绍主要介绍专业,成绩,技术栈,校园经历(技术相关),实习经历。自我介绍的时候面试官一般会边听边看你的简历,所以时长最好不要太短。 2、正式开始: 一般是先问实习项目,自己的项目,然后问八股,最后问一些综合问题。配合上篇文章-简历篇提到的细节,在回答项目问题时尽量把面试官朝着自己准备的一些亮点上引导,展示自己对...
查看6道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
AI Agent 面试 Top50 必刷题
2.0W
2
...
看不懂组内文档,实习怎么偷产出?
9631
3
...
碰到不公平的违法行为,一定要捍卫!
6206
4
...
五月了,感觉实习很难找了
5107
5
...
要对实习同事表白吗?
5047
6
...
妈妈只想要你快乐
4275
7
...
理性讨论,卷实习算不算工贼行为?
3971
8
...
三段大厂,说下我见过的最低学历
3765
9
...
26届双非本求职总结
3526
10
...
逆天操作,也是让我遇到了
3392
创作者周榜
更多
正在热议
更多
#
26届春招投递记录
#
35931次浏览
300人参与
#
你今年的平均薪资是多少?
#
229983次浏览
1065人参与
#
如何成为1个AI工程师?
#
5543次浏览
278人参与
#
携程笔试
#
179925次浏览
928人参与
#
27届实习投递记录
#
120689次浏览
1373人参与
#
我想象的实习vs现实的实习
#
340690次浏览
2315人参与
#
求职你最看重什么?
#
170293次浏览
915人参与
#
秋招提前批,你开始投了吗
#
766499次浏览
8495人参与
#
工作丧失热情的瞬间
#
401151次浏览
2589人参与
#
要毕业了,再不说就来不及了
#
8737次浏览
153人参与
#
哪些公司校招卡第一学历
#
262389次浏览
879人参与
#
硬件人的简历怎么写
#
349596次浏览
3141人参与
#
国庆假期,给大脑放个假
#
26918次浏览
121人参与
#
你在职场上见过哪些“水货”同事
#
41917次浏览
179人参与
#
机械人的秋招小目标
#
32930次浏览
251人参与
#
面试被问第一学历差时该怎么回答
#
297084次浏览
2306人参与
#
你觉得机械有必要实习吗
#
89008次浏览
536人参与
#
AI面会问哪些问题?
#
136479次浏览
3648人参与
#
提名点击就挂的公司
#
146634次浏览
494人参与
#
听到哪句话就代表面试稳了or挂了?
#
271280次浏览
1733人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务