随笔分类 - 思想——分治——CDQ分治
摘要:V.III.[CTSC2018]混合果汁 二话不说先套个整体二分。 但是这题整体二分与先前两道题有所区别——前面两道题,当二分到区间 时,只需管 中的元素就行了,对于 不合法的询问直接减去这一段的询问的结果就行了; 但是,本题就不一样了:随着美
阅读全文
摘要:IV.VI.寻找宝藏 又是四维偏序板子。只不过是打一遍再熟悉一下代码罢了。 代码: #include<bits/stdc++.h> using namespace std; const int mod=998244353; int n,m; typedef long long ll; struct
阅读全文
摘要:IV.V.[DBOI2019]德丽莎世界第一可爱 事四维偏序模板 二维偏序我们用BIT,三维偏序我们用CDQ套BIT,四维偏序,可以CDQ套树套树CDQ套BIT。 什么意思? 我们排序排掉第一维。 然后,在第二维上CDQ:当我们要计算 对 的贡献时
阅读全文
摘要:IV.IV.[Ynoi2016] 镜中的昆虫 没错,这里就是CDQ分治 的优势所在了——本题似乎卡掉了空间复杂度为 的树套树。 但这不妨碍我继续说:树套树yyds 首先,这里有一个结论:长度为 的序列,修改 次,
阅读全文
摘要:IV.III.[国家集训队]数颜色 / 维护队列 虽然这里这题的写法是CDQ但是我还是要大声喊出:树套树yyds! 首先,众所周知地,我们可以对于每个位置记录其颜色上一次出现的地方,记作 ,则我们需要知道的就是 中 的总数。 众所周知地,
阅读全文
摘要:IV.II.[HNOI2010]城市建设 实际上这题不算狭义上的CDQ分治(先计算左边,再计算左边对右边的贡献,最后计算右边),更像是线段树分治的变种,但是既然大家都认为这就是CDQ那就算是罢…… 考虑分治计算。当我们考虑一个区间 时,我们会将所有边分为两类:区间 \([l,r]
阅读全文
摘要:IV.I.[SDOI2011]拦截导弹 我当初为什么要用CDQ分治而不是树套树开这题…… 明显三维偏序。然后一个点的可能性就是前缀路径数乘以后缀路径数除以总路径数。 CDQ分治有一大坨的细节需要处理! 代码: #include<bits/stdc++.h> using namespace std;
阅读全文
摘要:IV.【模板】多项式指数函数(多项式 exp) 本题有两种解法,一种比较好理解,一种比较通用(并且速度快)。 首先法一便是分治FFT解法。 我们有 于是两边求导,得到 因为又有,代入得 我们再积分回去,得到 \(\in
阅读全文
摘要:I.【模板】分治 FFT 作为多项式的第一题,这题还是挺好理解的。 首先,我们完全可以把扩大到的次幂,空余地方补上,并且答案不变。 然后,对于递推式,我们如果再令的话,显然这个的下界是可以改成的——虽然这会使
阅读全文