小米笔试

#小米求职进展汇总#1.作为一个登山爱好者,Bo现在正计划向珠峰发起桃战,要问为什么的话,因为山就在那里!
珠峰的气候变幻莫测,并不是每天都适合登山,但Bo通过东方神秘力量了解到接下来有个特定日期可能会是适合登山的好日子。因此他在这n天一定要在珠峰大本营等待良机。
然而,海拔5200米的珠峰大本营不是久居之地。根据医生的评估,Bob最多能够在此处生活的总天数为k天,否则出现生命危险的概率将大大增加。因此Bob需要注意在不适合登山的日子下撤回低海拔地区。
下撤回低海拔地区和前往珠峰大本营的旅费不可小觑,Bob自身也讨厌频繁移动。因此请你告诉他,在不错过个特定日期,同时在珠峰大本营生活不超过总共k天的前提下,最少需要多少次移动?
注意,Bob一开始位于低海拔地区,最终也必须回到低海拔地区。一次移动指的是单程而非往返,即从低海拔地区前往珠峰大本营或从珠峰大本营下撤回低海拔地区分别是一次移动。
读题读半天,还没写出来
2.车辆选配,没写
全部评论
18%,18%。第一题一直调不通,第二题看懂的时候已经时间不够了,骗两个测试用例
4 回复 分享
发布于 03-12 20:47 广东
题目要看半天,然后给的示例不说啥意思解释下
3 回复 分享
发布于 03-12 22:34 安徽
为什么bob一共只能待k天,他下山休息了个啥
2 回复 分享
发布于 03-12 20:54 黑龙江
第一个才20%,第二个更是完全不通过
点赞 回复 分享
发布于 03-12 20:40 湖北
属实是难为我了
点赞 回复 分享
发布于 03-12 20:42 重庆
山就在那里
点赞 回复 分享
发布于 03-12 20:55 陕西
给部分分吗
点赞 回复 分享
发布于 03-12 20:59 浙江
两题都用dp写的,第一题73%,想到优化方法了但是没空整。第二题忙打完代码连debug的时间都没有结束了 早知道就应该一门心思优化第一题。
点赞 回复 分享
发布于 03-12 21:21 安徽
山就在那里
点赞 回复 分享
发布于 03-12 22:09 辽宁
第一题73%,看起来像是dp,实际上状态维护起来很难,按区间划分做更容易点,死活过不了73%,不知道什么问题 第二题,直接把加上装备的车作为一个单独的车放进背包,dp就能a
点赞 回复 分享
发布于 03-12 23:22 浙江
感觉系统难用
点赞 回复 分享
发布于 03-13 09:34 天津
这么几天就oc云智了?
点赞 回复 分享
发布于 03-19 17:17 福建
大佬投的岗是软开吗
点赞 回复 分享
发布于 03-20 15:49 广东

相关推荐

03-12 20:56
湘潭大学 Java
牛客363879665号:你能保证选择题全对嘛,很难的啦
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
03-12 21:00
中山大学 Ruby
点赞 评论 收藏
分享
第一题:爬山首先俺们的Bob在一个风和日丽的日子选择去登珠峰,我们需要在n个特殊的日子(人话就是n天时间内)在大本营找到合适的时间去登山。但是需要知道补给只能维持k天,所以Bob最多只能待k天时间,所以他可能会在不适合爬山的日子撤回到低海拔地区。下撤是需要考虑移动次数的。所以我们需要算的就是他在低海拔出发低海拔结束,在不错过n个日子且在大本营生活天数不超过k天的前提下最少的移动次数是多少。思路首先我们将输入进行拆分,举个例子,[2,3,4,7,8]五天时间,我们拆分为[2,3,4]和[7.8]两个区间,每个连续区间内他都只需要进入一次大本营,离开一次,所以我们区间数(最开始统计到的连续区间)p就是至少需要移动的一半。接下来我们来优化移动次数设p为最开始的连续区间数,假设我们停留k天,有n天时间登山,实际上额外停留时间为k - n。所以现在计算非登山日的间隔天数,我们将间隔从小到大排序,尽可能多利用可用额外的停留天数来减少p。具体操作为:从最小的间隔开始,如果还能住,就可以减少一次移动机会(即合并两个区间),直到不能合并就可以得到p的最后结果即移动次数。第二题:买车某人要去买车,需要保证载X人,拉货Y吨,有n种车。对第i种车价值mi元,有ki种方案,默认拉人xi,拉货yi。第i种方案需要mij元,可以选配件让拉人为xij拉货为yij。但是只能选一种。然后要买多种车需要最少的钱。思路相信所有人百分百第一眼看到这题第一反应是,这人有毛病吧!好我们梳理一下首先,问题就是至少载X人,至少载Y吨货,然后花费最少。可以选择的方案有多种,最基本的为mi元,xi人,yi吨。或者别的。解决方案:我们把每种汽车和方案都看成一个“物品”,费用就是汽车的价格,收益就是购买某个汽车后它有一定的承载能力。也就是说我们可以直接转化为一个二维费用的完全背包问题。对于该问题直接采用动态规划。假设dp[x][y]满足至少x人y吨且花费最小接下来定义方程最开始dp[0][0]=0即初始状态。依次遍历所有的方案(cost, cap_x, cap_y):​完全背包的思想:同一种车买多次,每次购买都会增加承载能力​朴素的完全背包思想:从小到大遍历x, y:dp[min(X, x + cap_x)][min(Y, y + cap_y)] = min(dp[min(X,x+cap_x)][min(Y,y+cap_y)],dp[x][y]+cost)计算过程就是累计遍历所有的方案逐步更新dp,最后得到的就是最小花费。这里需要注意我们最后如果值依旧是无穷大则说明无法满足直接返回 -1。代码详细看我主页www.lx02918.ltd。如果没有说明我还没发(尤其是我这篇刚发出来!)然后我第二题是没有完全做出来的,时间超了,最后几分钟实在优化不出来了。
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客企业服务