![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分而治之-分块
Dream_Lolita
退役OIer,转战ACM
展开
-
【分块】HihoCoder1629+BZOJ4537
HIHO1629 : Graph原题地址【题目大意】 给出一幅n个点,m条边的无向图,然后给出q组询问。每组询问给定一个区间[L,R],问[L,R]中有多少点对可以相互到达。可以到达的要求是只能走[L,R]中的点。不超过5组数据,n,m单点时限:4000ms 内存限制:256MB【题目分析】 分块+莫队【解题思路】 将询问排序后分块——当我们枚举第i个关键点为左端原创 2017-12-12 15:38:38 · 579 阅读 · 1 评论 -
【线段树维护历史值/莫队】BZOJ4540 [Hnoi2016] 序列
【题目】BZOJ给定一个长度为nnn的序列aaa,QQQ次询问一段区间中所有连续子序列的最小值之和。n,Q≤105,ai≤109n,Q\leq 10^5,a_i\leq 10^9n,Q≤105,ai≤109【解题思路】这个标记是真的神奇啊。不妨令fi,jf_{i,j}fi,j表示左端点为iii,右端点为jjj的区间最小值。如果我们枚举右端点来更新这个数组,不难发现就是一个区间覆盖。...原创 2019-03-03 20:51:27 · 245 阅读 · 0 评论 -
【莫队】BZOJ4542 [Hnoi2016] 大数
【前言】我的莫队又没排序【题目】BZOJ给定一个长度为nnn的字符串SSS以及一个模数PPP。QQQ次询问SSS的一个子串S[l…r]S[l\dots r]S[l…r]中有多少个子串表示的数字(去掉前导零后)是PPP的倍数。n,m≤105,Pn,m\leq 10^5,Pn,m≤105,P是一个素数。【解题思路】首先我们不妨求出每个后缀所代表的数字对PPP取模的余数,设为cic_ici...原创 2019-03-04 21:54:23 · 150 阅读 · 0 评论 -
【kosaraju算法+bitset+回滚莫队/st表】[Lydsy2017省队十连测]友好城市
【题目】BZOJ给定一幅nnn个点mmm条边的有向图QQQ次询问若只使用[l,r][l,r][l,r]这些边,有多少个点对能互达。n≤150,m≤3×105,Q≤5×104n\leq 150,m\leq 3\times 10^5,Q\leq 5\times 10^4n≤150,m≤3×105,Q≤5×104【解题思路】我们知道一次tarjan\text{tarjan}tarjan是O(∣...原创 2019-02-10 22:47:24 · 454 阅读 · 0 评论 -
【分块】BZOJ5145 [Ynoi2018] 未来日记
【前言】年初一写的题,原因是熬夜太晚了,写几题分块醒醒神(雾【题目】BZOJ长度为nnn序列AAA,支持mmm次两种操作:将区间内值为xxx的位置修改为yyy询问区间第kkk大n,m,Ai≤105n,m,A_i\leq 10^5n,m,Ai≤105【解题思路】不可做题考虑分块暴力。先考虑如何求区间第kkk小。我们对序列和权值都进行分块,设numi,jnum_{i,j}nu...原创 2019-02-06 23:49:30 · 396 阅读 · 0 评论 -
【值域分块(阈值)+Trie】CF840E In a Trap
【题目】CF一棵nnn个节点的树,点有权aia_iai。QQQ次询问(u,v)(u,v)(u,v),其中uuu是vvv祖先,问路径上所有节点iii的max{ai⨁dis(i,v)}\max \{a_i \bigoplus dis(i,v)\}max{ai⨁dis(i,v)}。n,ai≤5×104,Q≤1.5×105n,a_i\leq 5\times 10^4,Q\leq 1.5\time...原创 2019-02-04 22:22:16 · 642 阅读 · 0 评论 -
【分块+BIT】BZOJ3787 Gty的文艺妹子序列
【题目】BZOJ正整数序列AAA,支持单点修改,区间逆序对数,所有数字不超过5×1045\times 10^45×104。强制在线。【解题思路】毒瘤数据结构题不妨考虑分块,设分块大小为SSS。维护sumi,jsum_{i,j}sumi,j表示前iii块中元素jjj的个数,每次修改只会影响O(S)O(S)O(S)个值,同样用树状数组维护可以做到O(Slogn)O(S\log n)O(S...原创 2019-02-03 23:26:01 · 161 阅读 · 0 评论 -
【分块】LGP5113 Sabbat of the witch
【题目】原题地址给定一个长度为nnn的数列aaa,要求支持三种操作:区间赋值为xxx区间求和撤销某次赋值操作,即去掉那一次操作n,m≤105n,m\leq 10^5n,m≤105,操作111次数不超过650006500065000次,所有输入不超过10910^9109,强制在线。【解题思路】一道十分暴力的分块题啊。首先我们考虑一个比较naivenaivenaive的O(nnl...原创 2018-12-27 20:52:38 · 325 阅读 · 0 评论 -
【分块-莫队二次离线】LGP4887 第十四分块(前体)
【题目】原题地址给定一个序列aaa,一个非负整数kkk,和若干个询问[l,r][l,r][l,r],问这段区间中满足ai⨁aj的二进制中有k个1,且i<j的数对数a_i\bigoplus a_j的二进制中有k个1,且i<j的数对数ai⨁aj的二进制中有k个1,且i<j的数对数。n,m≤105,ai<16384n,m\leq 10^5,a_i...原创 2018-09-29 13:51:59 · 610 阅读 · 0 评论