
多校
文章平均质量分 59
昵称很长很长真是太好了
这个作者很懒,什么都没留下…
展开
-
Naive Operations (线段树 分析复杂度)
题目:给出一个长度为n初值为0的数组,以及长度为n的b数组,然后q次操作,add(l,r) 使得区间l-r所有元素+1,或者查询l~r区间a[i]/b[i]的和题解:很少情况下能很快写出一道线段树题目,关键还0调试首先题目说了b是个排列,突破点也就是b这个条件。因为题目是向下取整,那么假设b[1]=100000,那么你对他修改99999次都是没有任何影响的,那岂不是可以不去修改这个点。同理考虑其他的节点,发现b[i]越大,那么a[i]/b[j]如果变大的话,需要修改的次数也会越多。我们计算一下这原创 2021-09-09 19:15:19 · 259 阅读 · 0 评论 -
2021牛客暑期多校训练营4 Tree Xor (区间异或上一个数+区间求交)
题解:首先我们可以发现,只要确定了一个值,那么树上其他的值也可以确定下来了,但是显然,遍历一棵树的时间复杂度为O(n),如果枚举+暴力判断的话时间复杂度O(1e9∗n)O(1e9*n)O(1e9∗n)。看了大佬的题解。首先可以假设a[1]=0a[1]=0a[1]=0,然后求出其他的点分别为a[i]a[i]a[i]假设我们把a[1]a[1]a[1]变成xxx,那么其他的点也都会被异或上一个xxx。假设l[1]<0⊕x<r[1]l[1]<0 \oplus x<r[1]l[1]&原创 2021-08-21 22:21:36 · 214 阅读 · 0 评论 -
2021牛客暑期多校训练营3 I-Kuriyama Mirai and Exclusive Or (差分+位运算)
题意:两个操作:1.给区间[l,r][l,r][l,r]之间的数异或xxx2.给区间[l,r][l,r][l,r]之间异或(x+(l−i))(x+(l-i) )(x+(l−i))题解:我们发现对于1操作,直接差分即可对于2操作,我们每次取 lowbit(x) ,设lowbit(x)为 2k2^k2k,对于 i−l<2ki-l<2^ki−l<2k, a xor (x+i−l)=a xor x xor (i−l)a\原创 2021-08-14 16:07:00 · 132 阅读 · 0 评论 -
2021HDU多校第一场 zoto(莫队+分块)
题意:给你一个序列,q次询问,每次询问l-r的区间内数字大小为x-y之间内不重复的个,保证数据所有大小为1e5以内。思路:比赛的时候通过调整了一下分块的大小和各种优化,用莫队把题目给卡过去了,实在是没想到竟然能卡过去qwq,不过我莫队每次移动时的是logn的(套了一个权值线段树),肯定也不是正解(虽然过了)。学习了一下正解,感觉还是自己太菜了qwq。正解把莫队的左右指针移动给变成了O(1)O(1)O(1)的时间复杂度。感觉std的方法还是很巧妙的,用莫队去维护序列的范围,然后用分块来维护数字的大原创 2021-07-23 17:06:15 · 448 阅读 · 0 评论