携程笔试10.10

第四题 q次询问区间内交替与或的结果 怎么做呀
全部评论
最后一题是这样的 首先,数字范围是0到2的30次方,所以可以把数字分成30个bit来进行处理,最后把30个bit拼接起来就行 然后Tricky的点来了,如果出现了&0,那么前面无论是0还是1最后都会变成0,如果出现了|1,前面无论是0还是1都会变成1,也就是说前序的信息都丢失了,有用的就是最新出现的关键位是&0还是|1 然后你需要维护两个n*30的数组用来记录每个数字每个bit的前序情况,进行两次正向遍历,分别记录Op1和Op2的结果,对于OP1来说,如果第奇数个数字的某个bit出现了0,那么后续的结果都是0,如果第偶数个数字的某个bit出现了1,那么后续都是1,OP2是相反的 然后对于给出的l和r,需要判断r的关键位是不是小于l,如果不是就按关键位记录的结果,是就按他自己的结果,反正写起来很复杂,前三题打了30分钟,最后一题一个半小时
2 回复 分享
发布于 2024-10-10 12:53 上海
不知道,我一个for循环他也能超时、还能怎么优化
2 回复 分享
发布于 2024-10-10 12:15 陕西
离线做OOM了
1 回复 分享
发布于 2024-10-10 13:33 广东
暴力超时25%,二分不超时但是二分0%😭
点赞 回复 分享
发布于 2024-10-12 23:26 湖南
佬~你这套有选择题吗,有没有一道线性回归的单选题呀,想半天了没想通
点赞 回复 分享
发布于 2024-10-10 23:11 北京
T4 暴力超时,可以尝试离线查询优化
点赞 回复 分享
发布于 2024-10-10 12:47 湖北

相关推荐

不愿透露姓名的神秘牛友
07-10 11:33
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 18:05
哈哈哈哈哈感觉朋友找工作的已经疯掉了,直接上图
码农索隆:真老板娘:“我嘞个去,这不我当年的套路吗
点赞 评论 收藏
分享
05-27 14:57
西北大学 golang
强大的社畜在走神:27届真不用急,可以搞点项目、竞赛再沉淀沉淀,我大二的时候还在天天打游戏呢
投递华为等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:46
点赞 评论 收藏
分享
评论
2
4
分享

创作者周榜

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