首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
れもんじゆん
2020-12-08 17:40
曲阜师范大学 C++
关注
已关注
取消关注
怎么快速求数列(A[i]+A[j])*(j-i)的最大值
注:1.数列的长度能达到1e6
2.j>i
提示
全部评论
推荐
最新
楼层
Maddison10
北京市十一学校
可以用李超树维护凸壳
10
回复
分享
发布于 2020-12-08 19:19
Maddison10
北京市十一学校
希望能对您有帮助
10
回复
分享
发布于 2020-12-08 19:20
Maddison10
北京市十一学校
这个李超树随便维护吧
9
回复
分享
发布于 2020-12-08 19:19
Maddison10
北京市十一学校
主要有一个A[i]*j的东西
9
回复
分享
发布于 2020-12-08 19:19
Maddison10
北京市十一学校
然后推式子化成kX+b的形式
9
回复
分享
发布于 2020-12-08 19:19
Maddison10
北京市十一学校
直接上李超树就ok了
9
回复
分享
发布于 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
牛客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
还没有回复哦~
相关推荐
11-14 10:47
广东工业大学 Java
一人来一句选择测开的好处和弊端
🐭🐭Java选手,能力有限,想进大厂只能选测开,但是看了很多帖子,测开的弊端还是有点多的,但是Java又感觉中厂也很难进,所以大概就是中大厂测开和中小厂Java的博弈,我总结了测开的好处和弊端,大家看看有没有说错的,也可以补充一下,让🐭🐭好好衡量一下好处:1.进大厂相对Java容易很多,2.起薪和Java差不多,3.加班比Java少弊端:1.之后涨薪难甚至可能降薪,2.工作无聊,每天几乎重复做着同样的事情,很容易厌烦,而且一个人要负责多端的测试,和同事的沟通很频繁3.只有中大厂有测开,如果感觉压力大卷不过,想去小厂开发也去不了4.外包化趋势
arbeilaite:
干测开的都是干不了开发的 我自己就是干不了开发才来测试的 有时间肯定要先走开发
找工作,你会甘心进小厂还是猛冲大厂
点赞
评论
收藏
分享
11-10 12:02
山东大学 嵌入式软件工程师
山东移动省公司技术类面试
线下面试,大家都穿了正装,签到后将手机、智能手表收走装进信封,在等候间等待;五人为一组,叫去面试间外等待;分组应该是按照技术大类和学校划分的,第一天有很大一批北邮,第二天有一批北理的,当然,从头到尾山大的就没断。面试为双盲,也就是不能说自己的姓名,所有的材料不能带进去,按照自己的编号进行自我介绍;面试限时12min,时间一到立马结束;为了防止定位到个人,下面的面经包含了至少四个不同专业方向的人的面经且为乱序(我太伟大了):总结就是:自我介绍 -- 论文项目实习 -- 目前offer -- 期望薪资。自我介绍(建议2min左右);是否有硬件开发经验、机器人的项目细节;论文的创新在哪,是否有落地?...
小张frog:
除了不能说名字以外,别的例如学校,专业,荣誉啥的可以说吗
查看12道真题和解析
SAGIMA 个人面经整...
运营商笔面经互助
点赞
评论
收藏
分享
10-27 21:46
南京航空航天大学 C++
😩
华子流程挂了是不是秋招就再没机会了,感觉投错部门了
自信的小松鼠在评审:
为啥挂
点赞
评论
收藏
分享
10-10 18:54
北京航空航天大学 机械设计/制造
感谢信+1
不回我,我直接给你感谢信有了满意offer也是硬气起来了
无情咸鱼王的秋招日记之薛定谔的Offer:
好拒信,偷了,希望有机会用到
点赞
评论
收藏
分享
11-14 00:39
北京理工大学 Java
不要想着春招去补录!
这种想法实在不太合理,风险太大了!现在看来,秋招的岗位其实还不少,而春招的机会少得可怜,基本上都是补录,竞争激烈,要求也高得吓人!学校的招聘会,有时候面试五分钟就能拿到offer。其实,只要准备充分,多投简历,机会还是有的!
李彩霞无敌啦:
转人工,秋招能上谁还指望春招
牛客创作赏金赛
点赞
评论
收藏
分享
点赞成功,聊一聊 >
点赞
收藏
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
大厂们也算是卷起来了。。
4100
2
...
【发帖有奖】新活动来啦,发帖评公司,最高可得100元京东卡~
3777
3
...
好消息是早就oc了,坏消息是一直没开奖
3713
4
...
求职银行的宝子们,最新的银行笔试题已公开,免费刷!
3693
5
...
大四,双非二本,求指教,目前有一个offer但是一个月工资只有600要不要去啊
3189
6
...
互联网大厂再牛逼也搞不了工业软件
3183
7
...
3个月前的我未免对秋招过于乐观了
3103
8
...
西安荣耀嵌入式oc
3036
9
...
开奖了,A到了398,000!
2911
10
...
数字马力 offer 啦!
2419
正在热议
#
晒一晒我的offer
#
9507214次浏览
103795人参与
#
数据人offer决赛圈怎么选
#
106575次浏览
1391人参与
#
签约/解约注意事项
#
300824次浏览
1881人参与
#
我的实习求职记录
#
5939839次浏览
82700人参与
#
机械制造面试点评
#
32949次浏览
269人参与
#
机械制造公司评价
#
81628次浏览
257人参与
#
大疆求职进展汇总
#
394106次浏览
2831人参与
#
AI了,我在打一种很新的工
#
18918次浏览
424人参与
#
许愿池
#
202294次浏览
2485人参与
#
你的秋招第一场笔试是哪家
#
38348次浏览
533人参与
#
互联网没坑了,还能去哪里?
#
1089607次浏览
12638人参与
#
入职第一天,你准备什么时候下班
#
20524次浏览
133人参与
#
非技术er求职现状
#
20431次浏览
186人参与
#
你想留在一线还是回老家?
#
7499次浏览
156人参与
#
深信服求职进展汇总
#
127342次浏览
1385人参与
#
那些拿到大厂offer的简历长啥样
#
105099次浏览
2047人参与
#
通信硬件公司评价
#
80655次浏览
356人参与
#
设计人如何选offer
#
37845次浏览
466人参与
#
人生第一个10万你是多久存到的?
#
18677次浏览
216人参与
#
工作给你带来了哪些职业病
#
8398次浏览
97人参与
牛客网
牛客企业服务