最右2022.07.26笔试疑惑


各位大佬好,有没有同七月二十六最右笔试的呢
编程题第二题应该是动态规划,dp2 =max(dp0 + b[i], dp1 + a[i]),需要记录当前是a公司还是B公司。但是样例过了,测试正确率0%😥,有没有知道为什么的呢,或者我的思路不对吗
题目简介:
两个物流公司每天的运力a1,a2...an,b1,b2...bn,每天只能选择一个公司,切换公司的时候需要gap一天,该天运力为0.求N天最大的运力,第一天必须选一个公司,不能gap
思路:
特判一下天数n为1,或者2
假设第一天选A公司,那么
dp0 = a[0], 
dp1=a[0]+a[1],
dp2 =max(dp0 + b[i], dp1 + a[i])#如果当天为b公司那么dp2 =max(dp0 + a[i], dp1 + b[i])
dp0, dp1 = dp1, dp2
假设第一天选B公司,那么
dp0 = b[0], 
dp1=b[0]+b[1],
dp2 =max(dp0 + a[i], dp1 + b[i])#如果当天为a公司那么dp2 =max(dp0 + b[i], dp1 + a[i])
dp0, dp1 = dp1, dp2
答案就是两个dp2的最大值
可惜通过了0%

#最右笔试#
全部评论
dpa0 = a[0] dpa1 = a[0]+a[1] dpb0 = b[0] dpb1 = b[0]+b[1] dpac = 0 dpbc = 0 dpac = max(dpa1,dpb0)+a[i] dpbc = max(dpb1,dpa0)+b[i] dpa0 ,dpa1= dpa1,dpac dpb0,dpb1=dpb1,dpbc
1 回复 分享
发布于 2022-07-26 21:04
😂我也一个思路,我当时是感觉我这个初始状态给错了。。这个题有点不像普通动归,他要记录当前状态是A还是B,有点没敢硬动归做
点赞 回复 分享
发布于 2022-07-31 16:41
感觉确实有些不一样,不如春招时候的好用,不知道会不会影响我的成绩
点赞 回复 分享
发布于 2022-07-29 11:16
有人收到面试吗
点赞 回复 分享
发布于 2022-07-28 20:06
JAVA超时只能过0.8
点赞 回复 分享
发布于 2022-07-27 11:31
python 超时只能过80,用c++相同代码就过了。应该是对所有语言统一时间和内存限制了
点赞 回复 分享
发布于 2022-07-27 11:24
是这样的吗?(我也不知道) da = [0]*n db = [0]*n da[0],db[0] = a[0],b[0] da[1]=max(a[0]+a[1],b[0]) db[1]=max(b[0]+b[1],a[0]) for i in range(2,n):     da[i]=max(da[i-1]+a[i],db[i-2]+a[i])     db[i]=max(db[i-1]+b[i],da[i-2]+b[i]) print(max(da[-1],db[-1]))
点赞 回复 分享
发布于 2022-07-26 22:21
这个我过了 da[i]=max(da[i-1]+a[i],db[i-2]+a[i]) db[i]=max(db[i-1]+b[i],da[i-2]+b[i]) 最后的结果max(da[n-1],db[n-1])
点赞 回复 分享
发布于 2022-07-26 21:22
我服了。我也是这个思路。老是给我报超时。本地用例已经过了
点赞 回复 分享
发布于 2022-07-26 20:53

相关推荐

大摆哥:刚好要做个聊天软件,直接让你帮他干活了
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

更多
牛客网
牛客企业服务