首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
昨天 22:21
门头沟学院 Unity3D客户端
出去实习却被老师严查,该怎么办?
我是每周3,4,5才有课,今天上的是这周的第一节课,虽然我找了代课,但是班长没看到我人,后面辅导员又来开班会,专门来找我的,看我来了没有,结果就是代课被发现了,然后辅导员让我回去,如果不回去就要给我处分,我该怎么办,我不会被开除吧
点赞
评论
收藏
分享
04-16 15:46
已编辑
杭州电子科技大学 Java
腾讯录用评估求伯乐码!!!
想当鹅孝女呜呜附tl:3.20 一面+二面3.23 三面3.24 显示hr面3.26 晚上收到hr面试 第二天面3.27 面完hr 7min hr很忙然后面完界面还停在链接3.30 云证 但是还是显示hr面3.31 录用评估中4.2offer流程中4.16 hr似乎婉拒 大概率凉了
offer下一秒就来...:
30号转的录用评估现在还卡着
点赞
评论
收藏
分享
05-05 11:05
字节跳动_后端开发(实习员工)
学院本拿下字节暑期offer!!!
兄弟们,七面终上岸!😭😭一路走来满是坎坷与波折,从最初的遥不可及、不敢奢望,到如今咬牙坚持终得圆满。付出了无数努力,熬过无数难熬的时刻,也算给前段时间的埋头拼搏画上圆满句号。点赞多的话,后续整理完整面经,分享经验干货,帮大家少走弯路~
哈哈哈,你是老六:
还是你牛逼啊,我当年要是有你这实力一半都不至于这样
字节开奖
点赞
评论
收藏
分享
05-19 13:16
已编辑
深圳大学 Java
到底怎么和 AI 一起写一个好项目?
这段时间一直在做简历上的项目,我算是尚硅谷和黑马的骨灰粉了,全栈开发的核心教学视频我基本都有学习。 最近在B站上看视频来跟进点评和外卖的过程中我不断定期去反思自己的成效 ,发现单纯盯着视频上老师的节奏,敲下暂停键然后一比一的照抄下屏幕上标准代码并没有让我的工程能力和后端素养得到真正的提升。在瞌睡,回放,看弹幕来修bug的返回折腾下我开始感到厌倦与疲惫。 经过长期的听课的被动学习,我深深的认识到此举的效率十分低下并且我相信最终和曾经的各位一样:除了完美运行的代码文件和简历上的项目外一无所获。 扪心自问学这一个月到底学到了什么?是真的完全熟悉前后端联调的标准流程?是真的理解了数据与对象在消息流转过...
Biaobiaone:
好清晰的学习思路,这篇干货让我也意识到我在项目学习过程中可以改进学习方法的点
不得不说haozhe兄的反思能力真的好强
我的求职进度条
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
AI Agent 面试 Top50 必刷题
1.9W
2
...
到底怎么和 AI 一起写一个好项目?
7105
3
...
要对实习同事表白吗?
6059
4
...
实习dirty work,怎么包装产出
5218
5
...
当你有一个只想捆住你的妈妈
4989
6
...
AGENT面试题?
4001
7
...
26届双非本求职总结
3443
8
...
前京东HR说:这样改简历,真的会被一眼相中
3407
9
...
看不懂组内文档,实习怎么偷产出?
3051
10
...
三段实习,被室友骂工贼,我错了吗?
2465
创作者周榜
更多
正在热议
更多
#
26届春招投递记录
#
32667次浏览
254人参与
#
妈妈治愈了你哪些脆皮时刻
#
47508次浏览
360人参与
#
27届实习投递记录
#
114760次浏览
1256人参与
#
我的工作日记
#
207956次浏览
1829人参与
#
我的求职总结
#
512656次浏览
7094人参与
#
你投了多少家公司?进展是___
#
248220次浏览
1449人参与
#
大学生该如何认清当下的就业环境?
#
178825次浏览
943人参与
#
AI面会问哪些问题?
#
134576次浏览
3466人参与
#
要毕业了,再不说就来不及了
#
6359次浏览
111人参与
#
我与AI的日常
#
10787次浏览
202人参与
#
27届求职交流
#
500353次浏览
4665人参与
#
如果公司降薪,你会跳槽吗?
#
168834次浏览
972人参与
#
今年秋招还有金九银十吗
#
85128次浏览
518人参与
#
25届非技术实习投递记录
#
159408次浏览
1027人参与
#
不考虑薪资和职业,你最想做什么工作呢?
#
168761次浏览
916人参与
#
应届生应该先就业还是先择业
#
202348次浏览
945人参与
#
快手求职进展汇总
#
775714次浏览
7155人参与
#
你以为的实习VS真实的实习
#
144213次浏览
760人参与
#
你觉得什么岗位会被AI替代
#
65408次浏览
386人参与
#
你的秋招进行到哪一步了
#
2803145次浏览
23414人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务