拼多多笔试 9.14
#笔试##笔试#第一题 签到题 首字符 + 偶数下标字符
第二题 贪心+模拟
求发货最小成本,对每天必须发完的货来说,优先按低价发(也就是在价格低的天发),遍历时按价格升序维护可发包的天,然后模拟即可
维护一个有序set(TreeSet),元素i代表第i天,按发货价格排序。
维护第i天发包裹使用次数ci,
按天遍历,第i天,将i入set,遍历set(发货价格低到高),发货直到发包裹使用次数到x或者第i天包裹已经发完
记录使用的成本,即为结果
第三题
求平衡序列的个数
维护前i项数组和Si(包括0),注意到Si-i=Sj-j表示i~j是平衡序列,使用map统计si-i的次数v,遍历map,对C(v,2) = v*(v-1)/2求和即可
第四题 贪心 + gcd
求x倍下标与y倍小标差的最大值,除去x*y倍数的下标,给x安排大的,给y安排小的即可
对原数组排序,维护前i项数组和S(i),对每个x,y,求最小公倍数 t = x*y/gcd(x,y)
最后结果就是 S(n)-S(n-n/x+n/t)-S(n/y-n/t),/表示整除
#笔试##拼多多-校招##拼多多技术岗##拼多多笔试##牛客AI配图神器#
第二题 贪心+模拟
求发货最小成本,对每天必须发完的货来说,优先按低价发(也就是在价格低的天发),遍历时按价格升序维护可发包的天,然后模拟即可
维护一个有序set(TreeSet),元素i代表第i天,按发货价格排序。
维护第i天发包裹使用次数ci,
按天遍历,第i天,将i入set,遍历set(发货价格低到高),发货直到发包裹使用次数到x或者第i天包裹已经发完
记录使用的成本,即为结果
第三题
求平衡序列的个数
维护前i项数组和Si(包括0),注意到Si-i=Sj-j表示i~j是平衡序列,使用map统计si-i的次数v,遍历map,对C(v,2) = v*(v-1)/2求和即可
第四题 贪心 + gcd
求x倍下标与y倍小标差的最大值,除去x*y倍数的下标,给x安排大的,给y安排小的即可
对原数组排序,维护前i项数组和S(i),对每个x,y,求最小公倍数 t = x*y/gcd(x,y)
最后结果就是 S(n)-S(n-n/x+n/t)-S(n/y-n/t),/表示整除
#笔试##拼多多-校招##拼多多技术岗##拼多多笔试##牛客AI配图神器#
全部评论
第四题这个前缀和是怎么用的,我无法理解,我当时是x选最大的,y选最小的,然后公共部分不选,这样通过率只有20%
第四题直接用自带的lcm函数就行
相关推荐
03-25 19:51
杭州电子科技大学 Java 点赞 评论 收藏
分享
03-29 17:05
门头沟学院 Java
asdasdasda...:我前段时间找工作焦虑,有几天连续熬夜熬穿了,然后心脏突然不舒服,立马躺床上睡觉了,然后第二天还是不舒服,去看医生说是心率不齐,吓得我后面天天早早睡觉,调养身体,过了好几天才好过来。所以真的,工作这些东西哪有那么重要,最多钱多一点钱少一点,降低物欲。活着才是最重要的,现在想想真的后怕 点赞 评论 收藏
分享
