美团笔试0816
不得不说题目真的有点难了
第二题:
贪心,开两个multiset,分别存A和B,每次取出A和B最大的,如果A的最大值大于B最大值,A最大值丢弃并将原最大值执行操作丢回set,计数+1;如果B最大值大于A最大值,B最大值丢弃并将原最大值执行操作丢回set,计数+1;如果相等,则分别丢弃最大值,计数值不变。最后输出计数值
第三题:
线段树可以做,但是很麻烦#牛客AI配图神器#。有点类似于线段树求逆序对或线段树求最长上升子序列,需要维护对于某个i,在此前遍历的j>i有多少个比i大或小。首先复制一份排序后的数组,从后往前遍历,每个位置j,把所有右边比它大的顺序(k>j,且idx(a[k])>idx(a[j]))的idx(a[k])(idx(x)表示数组排序后,x所在位置)都+1(参考线段树区间逐元素加一个值的维护方式,带染色标记)。这里要注意的是,比某个数大的,在右边未必出现过,所以未出现的地方一开始要用负无穷初始化,出现后才置为整数,然后在线段树递归更新查询的时候维护一个判断条件,为正数才累计求和。这样,遍历到i的时候,可以算出i到k之间,有多少个j产生了贡献,然后把所有k的值求和,就可以了。
第二题:
贪心,开两个multiset,分别存A和B,每次取出A和B最大的,如果A的最大值大于B最大值,A最大值丢弃并将原最大值执行操作丢回set,计数+1;如果B最大值大于A最大值,B最大值丢弃并将原最大值执行操作丢回set,计数+1;如果相等,则分别丢弃最大值,计数值不变。最后输出计数值
第三题:
线段树可以做,但是很麻烦#牛客AI配图神器#。有点类似于线段树求逆序对或线段树求最长上升子序列,需要维护对于某个i,在此前遍历的j>i有多少个比i大或小。首先复制一份排序后的数组,从后往前遍历,每个位置j,把所有右边比它大的顺序(k>j,且idx(a[k])>idx(a[j]))的idx(a[k])(idx(x)表示数组排序后,x所在位置)都+1(参考线段树区间逐元素加一个值的维护方式,带染色标记)。这里要注意的是,比某个数大的,在右边未必出现过,所以未出现的地方一开始要用负无穷初始化,出现后才置为整数,然后在线段树递归更新查询的时候维护一个判断条件,为正数才累计求和。这样,遍历到i的时候,可以算出i到k之间,有多少个j产生了贡献,然后把所有k的值求和,就可以了。
全部评论

第三题如果做过三维偏序就很简单,用cdq+树状数组就行,考虑对[l,r]时贡献,i位于[l,mid],k位于[mid+1,r],然后分类讨论下j位于左右的求值方法即可。
第二题用优先队列写只过了0.45
还不是T, 调不出来
相关推荐
点赞 评论 收藏
分享
01-14 22:59
西安科技大学 Java 行云流水1971:这份实习简历的优化建议:
结构清晰化:拆分 “校园经历”“实习经历” 板块(当前内容混杂),按 “实习→校园→技能” 逻辑排版,求职意向明确为具体岗位(如 “市场 / 运营实习生”)。
经历具象化:现有描述偏流程,需补充 “动作 + 数据”,比如校园活动 “负责宣传” 可加 “运营公众号发布 5 篇推文,阅读量超 2000+,带动 300 + 人参与”;实习内容补充 “协助完成 XX 任务,效率提升 X%”。
岗位匹配度:锚定目标岗位能力,比如申请运营岗,突出 “内容编辑、活动执行” 相关动作;申请市场岗,强化 “资源对接、数据统计” 细节。
信息精简:删减冗余表述(如重复的 “负责”),用短句分点,比如 “策划校园招聘会:联系 10 + 企业,组织 200 + 学生参与,到场率达 85%”。
技能落地:将 “Office、PS” 绑定经历,比如 “用 Excel 整理活动数据,输出 3 份分析表;用 PS 设计 2 张活动海报”,避免技能单独罗列。
优化后需强化 “经历 - 能力 - 岗位需求” 的关联,让实习 / 校园经历的价值更直观。
若需要进一步优化服务,私信
点赞 评论 收藏
分享
点赞 评论 收藏
分享