0821美团笔试

T1+T2 6分钟做完
简单贪心 + 按位构造即可

任意两个数字AND = x且不同就看x中等于0的位即可,只能有一个1其他都是0

T3什么爪八玩意

单点修改+维护树上一个点到它父亲路径上红色的路径总和变化+求差分贡献

分块草过去也不会,树链太高级了不会,遂写一个dfs+暴力剪枝骗分

选择题一堆大模型的新术语 ==我投的是后端不是LLM岗位(恼

#笔试#
#牛客AI配图神器#
全部评论
其实写跳祖先的做法能拿60,写询问分块又好写有对
点赞 回复 分享
发布于 08-23 12:57 江苏
大佬t3多少,我卡20超内存
点赞 回复 分享
发布于 08-23 12:07 江苏
大佬第三题拿了多少分,我暴力搞了20
点赞 回复 分享
发布于 08-23 12:05 上海

相关推荐

小美的简单构造没看明白
投递美团等公司10个岗位
点赞 评论 收藏
分享
题目是n个长方形,我用go写的,一开始超时后改用hash缓存后还超时,真一点没招了,牛友们有遇到相同情况吗这是我的代码:package mainimport "fmt"func niceput(rectangles [][]int, height int) int {var ans intfor _, rectangle := range rectangles {if rectangle[0] <= height && rectangle[1] <= height {ans += min(rectangle[0], rectangle[1])} else {if rectangle[0] > height {ans += rectangle[0]} else {ans += rectangle[1]}}}return ans}func min(a, b int) int {if a <= b {return a}return b}func main() {firstmap := make(map[int]map[int]int)var n, m intfmt.Scan(&n, &m)ans := 0for i := 0; i < n; i++ {recs := [][]int{}var x, y intfmt.Scan(&x, &y)if x < y {x, y = y, x}//如果map中有结果,直接调用,不用再计算一次if v, ok := firstmap[x][y]; ok {ans += vcontinue}recs = append(recs, []int{x, y})curput := niceput(recs, m)ans += curputif _, ok := firstmap[x]; !ok {firstmap[x] = make(map[int]int)}firstmap[x][y] = curput//把结果记录在map中}fmt.Println(ans)}
kimariyb:A 了这题,用 python 写的。如果没有超过最大高度,就用最小的当底,如果超过了最大高度,就用最大的当底
投递美团等公司10个岗位
点赞 评论 收藏
分享
sunyuheng3...:第三题如果做过三维偏序就很简单,用cdq+树状数组就行,考虑对[l,r]时贡献,i位于[l,mid],k位于[mid+1,r],然后分类讨论下j位于左右的求值方法即可。
投递美团等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-09 12:05
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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