
分块大法
bbbblzy
这个作者很懒,什么都没留下…
展开
-
分块——入门5
分析:这个题目超级无敌虚伪,在对整个块开方的时候你会发现你无从下手,须要知道每一个元素,才能知道他们开方后的和,也就是说,难以快速对一个块信息进行更新。其实你仔细推一推,你会发现,每次开方后向下取整,其实一个数开几次之后你会发现不是0就是1,所以我们只要对整块进行开方后判断一下是不是成为了0或1,在之后的修改中如果已经是0或1可以直接跳过……QWQ 代码://By Bibi//...原创 2018-03-14 18:21:08 · 297 阅读 · 0 评论 -
分块——入门6
这题涉及到了插入操作,如果你用的是数组,每次插入都要将后面的元素后移,这毫无疑问就爆炸了,这里就是我们c++选手的优势了,我们要用到一个STL叫vector。详细用法见:传送门用了vector之后操作的就变得十分简单了//By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// _...原创 2018-03-15 13:12:29 · 251 阅读 · 0 评论 -
分块——入门7
如果只是加法操作的话就和入门1没啥区别了,现在最大的问题就是乘法咋搞?? 首先我们要知道的是,乘法的优先级是高于加法,那么我们在做乘法的时候就要十分的小心了,所以我们在修改乘法标记的时候要把加法标记也作修改。 例如: 若当前的一个块乘以m1后加上a1,这时进行一个乘m2的操作,则原来的标记变成m1*m2,a1*m2 若当前的一个块乘以m1后加上a1,这时进行一个加a2的操作,则原来的标...原创 2018-03-15 13:17:08 · 543 阅读 · 1 评论 -
分块大法好!
膜分块分块大法可以说是久仰大名了,分块是一个超级暴(N)力(B)的算法,听某姓大佬说,一般的区间问题都可以用她来解决,她可以完成几乎所有的区间更新和区间查询问题,但是效率比线段树等数据结构要差一些QWQ一些名词的解释区间:数列中一段连续的元素 区间操作:将区间[a,b]进行某些操作 块:我们将数列划分成若干个不相交的区间,每个区间称为一个块 整块:在一个区间操作时,完整包...原创 2018-03-10 19:22:13 · 419 阅读 · 0 评论 -
分块——入门1
题目: 分析:这是分块的入门题,具体的就不谈了,在增加的时候,如果两数在同一个块内,直接加,否则就将这两个数所在的块做加法,然后将中间的块处理就好,时间复杂度O(n−−√)O(n)O(\sqrt n),可以说是很优秀了。 代码君://By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// ...原创 2018-03-10 20:17:41 · 236 阅读 · 0 评论 -
分块——入门2
水题爆炸记woc这题卡了我一天,这么水的题,我真的**无语,先是发现二分写错了,然后发现建立块都写错了,我真的无语了。 上代码(舞草)://By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// __.' ~. .~ `.__...原创 2018-03-12 20:00:25 · 440 阅读 · 0 评论 -
分块——入门3
wocwocwoc我是真的想骂人了,分块不喜欢我,分块不喜欢我!!!!! 疯狂漏打数组,看看下面的sb记录: 绝望!!!!!!!! 代码(mmp)://By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// __.' ~. .~ ...原创 2018-03-12 20:37:14 · 355 阅读 · 0 评论 -
分块——入门8
这个题目很考验分块的思想了,如果一个块里面都是相同的数,就给这一整个块标记,再进行处理即可//By Bibi/// .-~~~~~~~~~-._ _.-~~~~~~~~~-./// __.' ~. .~ `.__/// .'// ...原创 2018-03-22 18:56:30 · 284 阅读 · 3 评论