9.5 小米笔试

鼠鼠因为简历被疯狂挂,导致很久没写笔试了
今天有幸写了小米的笔试题:
第一题是做面包的最小代价题,直接模拟一遍就行,要用multiset维护一个有序集合,或者用堆也可以

第二题也是个最小代价问题,两种操作,一个是给一个数自增1,一个是移除一个数,最后让数组和被x整除。最优解肯定是要考虑两种操作的组合,所以要穷举所有可能出现的情况,而删除i和删除i+x最后+1的操作数都是一样的,所以对元素取模,只需要考虑删除[1,x-1]这个区间的和就可以了,这时候就可以把问题转化为和为i的最小元素数,用dp就行。
求出dp数组后再依次考虑每个代价i,看删除了和为i的几个元素后,还需要做几次加1的操作,最后取最优解即可。

在更新ans的时候忘记考虑s - i后刚好是x的倍数的情况了,卡了二十分钟
全部评论
有点牛
点赞 回复 分享
发布于 2024-09-05 23:41 上海
请问第一题是那个配对括号的题吗?
点赞 回复 分享
发布于 2024-09-05 22:20 北京
都是编程题吗
点赞 回复 分享
发布于 2024-09-05 19:02 北京
请问第二题的dp[i]表示什么?
点赞 回复 分享
发布于 2024-09-05 18:56 江苏

相关推荐

07-18 14:03
门头沟学院 Java
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
评论
3
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务