
分块
昵称很长很长真是太好了
这个作者很懒,什么都没留下…
展开
-
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 评论 -
牛客练习赛85 数学家的迷题 (带修莫队/线段树)
题意:1:将a[id]a[id]a[id]的值改为xxx。2:令t=a[l]×a[l+1]×...×a[r−1]×a[r]t=a[l]×a[l+1]×...×a[r−1]×a[r]t=a[l]×a[l+1]×...×a[r−1]×a[r],求t能被多少个不同的素数整除。题解:本题有两种解法,带修莫队和线段树,带修莫队的话需要开个O3提提速,不然会T一个点。1.带修莫队题目不是5e4的范围吗,带修莫队会卡时间?因为莫队移动的操作时间复杂度为O(1),但是这个移动的时间复杂度却不是O(1),应该是原创 2021-06-30 21:52:29 · 212 阅读 · 0 评论 -
[国家集训队]数颜色 / 维护队列 (带修莫队模板题)
题意:墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令:1、 Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔。2、 R P Col 把第P支画笔替换为颜色Col。为了满足墨墨的要求,你知道你需要干什么了吗?思路:如果没有修改的话,那么就可以用莫队很轻松的做出来(或者是主席树)。但是带了修改我们该怎么办呢,带修莫队或者(树套树)。空间时间树套树O(nlogn2)O(nlogn^2)O(nlo原创 2021-06-30 00:59:11 · 234 阅读 · 0 评论 -
牛客练习赛81 小Q与彼岸花 (分块+可持久化01trie)
题意:题解:因为这个题目是弱化以后的,正常的范围是5e4 .看了官方题解去学习了一波可持久化01trie然后回来把这个题补完。可持久数据结构其实就是我们的数据结构的内容会不断发生变化,而我们还要查询以前的历史版本,比如某个区间的情况。听名字可以听出来,可持久化01trie跟可持久化线段树差不多的效果,对于01字典树来说,可以指定查询 l−rl-rl−r 范围内的数组成的字典树。但是针对于这个题目我们直接使用可持久化01trie进行维护,时间还是不能被允许的,所以说, 我们还需要去继续优化。如何原创 2021-04-26 19:07:53 · 196 阅读 · 0 评论 -
UVA12003 Array Transformer(数组分块)
题解:(分块思想)1.把这个数组分成sqrt(n)sqrt(n)sqrt(n)个块,对于每个块对他进行从小到大排序。2.查询L-R的所在块,第一个块和最后一个块进行暴力查找,中间的块二分查找,把所有的数量累加起来即可。3.修改直接把原数组的值给修改好,然后对于这个包含这个位置的块给全部从新赋一遍对应的原数组的值,然后对当前快进行sort即可。/*Keep on going Never give up*/#pragma GCC optimize(3,"Ofast","inline")#inclu.原创 2021-02-02 23:56:00 · 186 阅读 · 0 评论