以前放在洛谷云剪贴板被我今日清云剪贴板扒出来的一篇文章感觉不想浪费就转移过来了这件事

咋啥玩意都加这件事啊?还就那个轻小说呗?不过今天一看,怎么莫反咕了啊,怎么只有整除分块啊(雾

复习一下莫比乌斯反演部分内容,写一写以前没写过的整数分块和反演题。

模积和:

这个就是拆拆,算算就行了,没什么好说的,需要注意的就是模数可能不是素数,需要稍微注意。

颓柿子,第一步运用余数转化为带余除法,考虑 \(n = pi + q\)\(p\) 可以用除法下取整算出,则 \(q\) 易得,如下:

\[\sum_{i=1}^n\sum_{j=1}^m(n - i\lfloor \cfrac ni\rfloor)(m - j \lfloor\cfrac mj\rfloor) [i \neq j] \]

考虑 \(i \neq j\) 较为麻烦,容斥为不考虑限制和非法的贡献,这里我们强制 \(n \le m\),否则交换 \(n, m\) 即可,不考虑限制的部分为:

\[\sum_{i = 1}^n\sum_{j = 1}^{m} (n - i \lfloor \cfrac ni \rfloor)(m - j \lfloor \cfrac mi \rfloor) \]

注意到 \(i, j\) 互相不影响,于是可以拆分为:

\[\sum_{i = 1}^{n}(n - i \lfloor \cfrac ni \rfloor)\sum_{j = 1}^m (m - j \lfloor \cfrac mi \rfloor) \]

注意到两个式子基本上形式一致,只需要考虑一个即可:

\[n\sum_{i = 1}^{n}1 - \sum_{i = 1}^n i \lfloor \cfrac ni \rfloor = n^2 - \sum_{i = 1}^{n} i \lfloor \cfrac ni \rfloor \]

发现后面那个东西可以整除分块,可以从 余数求和 这里看看,那分别算出来不考虑限制的两边,乘起来即可,接下来考虑有限制的部分,即那些 \(i = j\) 的贡献,又因为我们强制 \(n \le m\),所以只需要枚举到 \(n\) 即可:

\[\sum_{i = 1}^{n} (n - i\lfloor \cfrac ni\rfloor)(m - i \lfloor\cfrac mi\rfloor) \]

考虑把这个东西拆成四项,发现第一项就是 \(n^2m\),第二项第三项形式就是 \(k \sum_{i = 1}^{x} i \lfloor \cfrac xi \rfloor\),注意到和上面余数求和那里形式一样,不过多了一个常数而已,所以仍然容易处理,考虑最后一项:

\[\sum_{i = 1}^{n} i^2 \lfloor \cfrac ni \rfloor \lfloor \cfrac mi \rfloor \]

这个东西看起来很难,其实并不,你仍然考虑整数分块,考虑是 \(m\) 的右端点先到,还是 \(n\) 的右端点先到即可,这样这段区间内后面的两个值都不变,仍然是根号复杂度,因为改变处个数其实就是两个的个数加起来,至于前面的平方和,推一推式子就可以了,或者直接从网上搜索。

posted @ 2021-11-04 20:15  Z_char  阅读(399)  评论(1编辑  收藏  举报