首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
07-18 18:39
西安电子科技大学 机械工程师
豪迈先锋计划一面
机械工程师,投递完之后HR直接给我打电话,说了一大堆,就是让我做好准备面试!
点赞
评论
收藏
分享
07-18 23:15
中南大学 Java
上班第一周总结
部门是个很神奇的部门,人很少只有20多个人,但平均年龄大概比我大10岁,ld还调侃说能生下我部门里就2个本科生,一个是社招3年跳槽过来的,一个就是我,当听说我是本科校招进来的时候所有人都很震惊mt和同事都很温柔很耐心,他们吃饭的时候不是聊孩子就是聊股票,实在是和老b登没有一点共同语言。上班第一天:配环境,乱问导师年龄被导师嘴了“别问别人这种问题”,第一天下班,先是走错了上了高架桥,然后逆着车流返回,路程翻了一倍,然后是到了家门口半天开不了门,再然后空调又失灵了,搞半天才弄好。我真要玉玉了上班第二天:熟悉DDD架构的项目上班第三天:同事给我分了个练手的小需求上班第四天:完成了需求的功能被同事说不...
Java抽象带篮子:
周五可以早点6 7点下班,工位上没电脑的就是把电脑带回家了,工位上有电脑的就是还没下班在开会,总之就是不可能下班了还把电脑留在工位
打工人的工作餐日常
点赞
评论
收藏
分享
05-30 18:54
深圳奥哲网络科技有限公司_离岸开发岗_后端开发工程师实习生(实习员工)
兄弟们,准备找个后端实习,简历有问题吗?
项目纯手撕的,但是界面很简陋,功能也少,但确实整合了我说的所有核心技术。
湫湫湫不会java:
先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
07-16 14:00
招不到人是应该的
白火同学:
其实你可以了解一下HR在Boss聊天的机制,想赢牌的前提是先会玩牌。 如果HR长时间没有理你,有可能是因为你的消息被其他应聘者的消息给挤到下面了,HR从上到下有可能只看个三四百个人就要到理想数量的简历了,而你恰好没有被看到,时间一长,你的消息在越来越下面。这种情况就需要你自己活跃一下,把消息提上去。 也可能是HR招的合适的人选了,但会一直挂着岗位,为了省重新开招聘岗位的钱,方便后面随时修改招聘要求。 当然也可能是HR吃饱了没事耍你玩,要了你的简历又不看,就看你自己怎么理解了。
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
20250716 - 百度 - 后端开发 - 一面
6199
2
...
实习,你就这么偷
6018
3
...
为什么有人说 211 以下就进不了大厂了?
4194
4
...
滴滴提前批面经
4184
5
...
关于牛土兵教育割韭菜的事实
3122
6
...
27届前端七月找实习记录
3099
7
...
从中山大学到中兴 SSP:我的秋招打怪升级之路
3031
8
...
百度提前批后端一面 —— 亚历山大,特批拿下
2844
9
...
滴滴提前批凉经(一面,二面)
2461
10
...
百度提前批
2408
创作者周榜
更多
正在热议
更多
#
校招阶段,学历VS技术哪个更重要?
#
6877次浏览
93人参与
#
顺丰求职进展汇总
#
52626次浏览
283人参与
#
不卡学历的大厂有哪些?
#
13355次浏览
103人参与
#
腾讯音乐求职进展汇总
#
96570次浏览
563人参与
#
没有合适的工作,你会先找个干着,还是考公考研
#
120908次浏览
1144人参与
#
除了主业以外,你还有哪些其他收入?
#
5190次浏览
95人参与
#
实习时,大家都怎么称呼自己的mentor?
#
42679次浏览
270人参与
#
摸鱼被leader发现了怎么办
#
60380次浏览
368人参与
#
视觉/交互/设计招聘信息汇总
#
17839次浏览
612人参与
#
实习如何「偷」产出?
#
21483次浏览
255人参与
#
风评不好的公司,你会去吗?
#
43890次浏览
314人参与
#
社恐入职新公司如何融入团队
#
10508次浏览
62人参与
#
职场新人体验
#
12727次浏览
138人参与
#
实习打杂,要跑路吗
#
10979次浏览
145人参与
#
考研可以缓解求职焦虑吗
#
53250次浏览
474人参与
#
金融财经春招备战日记
#
22442次浏览
134人参与
#
校园里的破防时刻
#
6269次浏览
72人参与
#
求职遇到的搞笑事件
#
121344次浏览
795人参与
#
大学最后一个寒假,我想……
#
47800次浏览
580人参与
#
毕业旅行去哪玩儿
#
13963次浏览
136人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务