首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
老瞎眼 pk 小鲜肉
7条解析
开通博客写题解
Isaunoya
发表于 2019-10-15 15:51:15
myblog Problem 这题的题意大概是 给出一段长度为 的区间 次询问求 ~ 这个区间内 最短的一段区间 ~ 使得 诶 离线么?树状数组好像不好做啊 因为大多数人只会单点修改区间修改和差分吧 考虑离线+线段树 我们先记录一个 那么我们用一个类似桶一样的东西 记录上一个出现 的位置
展开全文
lifehappy
发表于 2020-12-16 19:59:43
老瞎眼 pk 小鲜肉 利用异或前缀和,离线处理。 我们定义为值为的异或前缀和最后一次出现在上。 我们通过枚举有区间,然后把异或相同的区间长度存在上, 之后我们只要在区间查询区间最小值即为答案了。 #include <bits/stdc++.h> #define mid (l + r &g
展开全文
Kur1su
发表于 2020-12-16 23:35:52
Desription 链接:https://ac.nowcoder.com/acm/problem/50444来源:牛客网 老瞎眼有一个长度为 n 的数组 a,为了为难小鲜肉,他准备了 Q 次询问,每次给出 一个区间[L,R],他让小鲜肉寻 找一对 l,r 使L<=l<=r<=R
展开全文
nagisa_菜鸡
发表于 2020-12-23 19:50:36
看到题目,我想大家第一个想到的就是前缀异或和,因为这种询问一整段的异或和的一半都需要这样处理,不然复杂度太高。之后,题目要询问的就是找到在区间[L,R]中的存在的点sum[l]==sum[r],使得r-l+1最小。若是考虑直接让值对应整个[l,r]区间则会很麻烦,所以,考虑转化为单点维护。考虑单点维
展开全文
ExcaIibur
发表于 2020-12-17 16:15:49
求q次询问下最短异或和为0子区间长度。 根据异或性质容易将条件转化为前缀和 sum[l-1]=sum[r] 的形式,用数组a记录一下前缀异或和最近出现的位置,则问题可以转化为维护单点贡献的形式。 考虑从1移动右端点,则随着右端的更新,将以此端点结尾的对应区间长度值赋给下标为左端点的求值数组,这样就可
展开全文
Trkly
发表于 2020-12-21 12:28:50
参考代码: #include<bits/stdc++.h> #define read() Read<int>() namespace pb_ds{ namespace io{ const int MaxBuff=1<<15;
展开全文
BNDSBilly
发表于 2020-12-16 21:21:25
根据题意,我们可以使用 复杂度求出以 为右边界的左边界在哪,然后把所有的询问离线,按照右端点从小到大排序,维护一个棵线段树,结点代表以 为右边界的最小区间长度,对于每个询问,只要把所有的右端点前的值更新到线段树中,再查询一次最小值即可知道答案。 #pragma comment(linker,
展开全文
查看本题
查看本题讨论
相关比赛
1114-牛客练习赛53
进入比赛
36303-蓝桥杯练习赛
进入比赛
36379-每周训练
进入比赛
56318-1
进入比赛
63930-11
进入比赛
等你来战
查看全部
牛客小白月赛91
报名截止时间:2024-04-19 21:00
牛客练习赛124
报名截止时间:2024-04-26 21:30
武汉工程大学第六届ACM程序设计竞赛(同步赛)
报名截止时间:2024-04-29 16:00
2024牛客五一集训派对day1
报名截止时间:2024-05-01 17:00
2024牛客五一集训派对day2
报名截止时间:2024-05-02 17:00
2024牛客五一集训派对day3
报名截止时间:2024-05-03 17:00
2024牛客五一集训派对day4
报名截止时间:2024-05-04 17:00
2024牛客五一集训派对day5
报名截止时间:2024-05-05 17:00
牛客周赛 Round 41
报名截止时间:2024-05-05 21:00
第四届上海理工大学程序设计全国挑战赛
报名截止时间:2024-05-12 17:00
牛客周赛 Round 42
报名截止时间:2024-05-12 21:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题