随笔分类 - 数据结构--分块,莫队
摘要:https://codeforces.com/problemset/problem/455/D 其实方法很多,然而当初一个也想不到... 1.分块,块内用链表维护 修改[l,r]就当成删除第r个元素,在第l个元素之前插入删掉的元素:就找到r删除,然后调整各个块的结构(对于[block[l]+1,bl
阅读全文
摘要:值域分块,题解网上有。。 根本不会,总是往莫队上去想,但事实上这题询问满足区间可减性,有更简单的方法 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<vector> 5 using namespace s
阅读全文
摘要:以下内容未验证,有错请指正... 设块大小为T,则块数为$\frac{n}{T}$ 将询问分为$(\frac{n}{T})^2$块(按照左端点所在块和右端点所在块分块),同块内按时间从小到大依次处理 1.左/右端点块内移动总代价:$q*T$ 2.时间的移动总代价:$(\frac{n}{T})^2*n
阅读全文
摘要:https://www.luogu.org/problemnew/show/P3603 https://www.lydsy.com/JudgeOnline/problem.php?id=4763 就是先树分块,取所有的块顶为关键点 那么任意点与它祖先中离它最近的关键点的距离为根号级别 先预处理出任意
阅读全文
摘要:https://cn.vjudge.net/problem/SPOJ-COT2 这个是树上莫队模版啊。。 树上莫队有两种,第一种就是括号序莫队 设节点i在括号序中首次出现位置为pl[i] 那么路径(i,j)上的节点,相当于括号序中pl[i]到pl[j]中所有只出现1次的节点,可能还要加上i,j,lc
阅读全文
摘要:https://www.luogu.org/problemnew/show/CF576C 看题面,一眼按莫队的方法排一下 直接交就会和我一样发现WA掉了。。。 算一下会发现,上限是3e9(块内左端点1e9,块内右端点1e9,块间右端点移动1e9),大于题面的2.5e8 (出题人还真的造出数据把它卡掉
阅读全文
摘要:https://vjudge.net/problem/HDU-4467 大概就是,设一个块大小T 对于度数<=T的点,设为1类点,在改变颜色的时候暴力查询与其相邻点,更新答案 对于度数>T的点,设为2类点,分别维护与其相邻的颜色为0/1的点之间的边权和(记录与每个点相连的所有2类点,然后在任意点(注
阅读全文
摘要:https://vjudge.net/problem/CodeChef-GERALD07 可以用莫队+带撤销并查集做 错误记录: 1.调试时数组开小了,忘了改大就交了 2.88行和91行少了备份num(后来无意改了固定块大小才发现) 错误记录: 1.调试时数组开小了,忘了改大就交了 2.88行和91
阅读全文
摘要:https://www.luogu.org/problemnew/show/P4168 分块大暴力 错误记录:66,82行lans=ans.b 额外: loj #6285. 数列分块入门 9 https://loj.ac/problem/6285 1 #include<cstdio> 2 #incl
阅读全文
摘要:http://codeforces.com/problemset/problem/620/F 此题是莫队,但是不能用一般的莫队做,因为是最优化问题,没有办法在删除元素的时候维护答案。 这题的方法(好像还有个名字叫"回滚莫队“,说明:https://blog.csdn.net/maverickfw/a
阅读全文
摘要:https://www.luogu.org/problemnew/show/P4462 http://codeforces.com/problemset/problem/617/E 这个是莫队裸题了吧。。。 然而,注意: 1.答案开longlong 2.要用桶来代替map/unordered_map
阅读全文
摘要:转自:https://www.cnblogs.com/Sdchr/p/7927411.html 分块 设阈值 T ,把数据划分为两类,某一类的数据具有某种优势,另外一类的数据又具有另外一种优势,就可以结合利用两种优势,达到更优秀的复杂度。序列分块1. 「TH 2517」数颜色 单点修改,区间不同数个
阅读全文

浙公网安备 33010602011771号