2023.6.8 闲话
你说得对,但是水浒传确实挺像恋跳的,简直完全一致啊!
半在线 Dirichlet 卷积?半在线整除卷积 == 杜教筛?
推歌:罰ゲーム - くるりんご feat. 初音ミク & GUMI(比较古老)
推歌:666 - RoughSketch(比较原神)
今天语录
K8He:(这是您的照片)哪个,希特勒啊?
K8He:会不会审核也是原批。
K8He:希特勒批,绷不住。
\(\text{你说得对但是,内又有恶犬了。} % K8He:啊啊,希特勒,好涩。\)
K8He:拜什么登,拜我。
\(\text{你说得对但是,内又有恶犬了。} % K8He:你没蛋。\)
K8He:今天太颓了,一天只写了四个题。
K8He:我挺有德行的。
K8He:模糊匹配都不行,博客园太菜了。
SoyTony:那你确实吊打我。
K8He:1e6 n^2 怎么过不去。
K8He:我是玩原神玩的。
K8He:你笔去玩原神了。
K8He:有福音了!
\(\text{你说得对但是,内又有恶犬了。} % K8He:本子!本子!本子!!\)
K8He:我理解不了 TA 这个水平。
K8He:那你断章取义你改成「有福瑞了」。
K8He:没有意义那我随便说你不用记了。
\(\text{你说得对但是,内又有恶犬了。} % K8He:你别记这个啊woc。\)
K8He:红题都随手切啊!这么强。
\(\text{你说得对但是,内又有恶犬了。} % K8He:怎么跟我一样贴贴啊。\)
K8He:你有原神吗?我比你更原神。
K8He:看着没,玩原神玩的,只知道打人。
\(\text{你说得对但是,内又有恶犬了。} % K8He:打打你的。\)
K8He:(看卷王监视器里自己过了一道题)卷。
K8He:Tarjan 在我上面。
K8He:对呀,确实在我上面。不管是物理层面还是精神层面。
K8He:现在的老年人都挺年轻的。
K8He:400 岁还不算年轻?
\(\text{你说得对但是,内又有恶犬了。} % K8He:(选中 SoyTony,Jijidawang)sb。\)
K8He:今天 NOI 2022。
K8He:1e9 不得 O(1) 过吗?
K8He:你竟然看到 Keven_He 卷了绿题!!
\(\text{你说得对但是,内又有恶犬了。} % K8He:这机房cp吗,傻逼\)
\(\text{你说得对但是,内又有恶犬了。} % K8He:(看哔哩哔哩动画涨粉 22w)wc,变化率怎么这么低。\)
SoyTony:我毁掉了 ASMR。
SoyTony:你是牛子。
SoyTony:六字?DJQ DXM?TIE TIE?
SoyTony:康有为是谁?
K8He:(不中考不高考,保送了)假。欸,没假。
K8He:我自己造一块金牌。
K8He:不是,把手机放哪,把手机放哪?
\(\text{你说得对但是,内又有恶犬了。} % K8He:(看着一个扭曲的黑色物体)鸭脖好涩。\)
K8He:你说得对但是,我要做,我要做,我就要做!——黑题。
高考作文
一个人乐意去探索陌生世界,仅仅是因为好奇心吗?请写一篇文章,谈谈你对这个问题的认识和思考。
SoyTony 太优异了,他用杜教筛 + 莫比乌斯反演 + 差分解决了一切问题。
给正整数 \(n\),问 \(1\dots n\) 的子集中有多少个 GCD 为 1 的 .
\(1\le n\le 10^{11}\) .
令 \(n\) 的答案是 \(f(n)\),则单步容斥可以得到:
这是类似杜教筛的形式,直接记忆化跑就是 \(O(n^{3/4})\) .
不过不太能过,考虑小范围预处理,对于 GCD 可以考虑莫比乌斯反演,令 \(F(x)\) 是满足 \(\gcd=x\) 的方案数,\(G(x)\) 是 \(x\mid\gcd\) 的方案数,则:
那么不难发现的是 \(G(x)=2^{\lfloor\frac nx\rfloor}-1\),于是:
于是只需要快速处理 \(n^{2/3}\) 内的 \(f(n)\),首先把减一排掉(可以线性筛处理)就是:
对于整除问题不难想到考虑差分:
于是只需要处理每个差分即可递推得到所有 \(h\),加号前面可以线性筛处理,加号后面 Dirichlet 前缀和即可 .
设预处理到 \(S\) 则根据分析可以知道复杂度是 \(O\left(S\log\log S+\dfrac n{\sqrt S}\right)\),平衡太困难所以取 \(S=n^{2/3}\) 得 \(O(n^{2/3}\log\log n)\) 的时间复杂度,可以通过(应该吧).
给正整数 \(n,m\),求:
\[\sum_{1\le i_1,i_2,\cdots,i_n\le m}\gcd(i_1,i_2,\cdots,i_n) \]\(1\le n\le 10^{11}\) .
首先枚举 GCD,后面计算 GCD 等于 \(k\) 的数量,之后整除分块即可 .
令 \(n\) 的答案是 \(f(n)\),则单步容斥可以得到:
这是类似杜教筛的形式,仍然是过不去考虑小范围预处理,那么仍然是考虑莫比乌斯反演,令 \(F(x)\) 是满足 \(\gcd=x\) 的方案数,\(G(x)\) 是 \(x\mid\gcd\) 的方案数,则根据类似的推导就可以知道:
仍然考虑差分:
类似处理即可,时间复杂度 \(O\left(S\log\log S+\dfrac n{\sqrt S}\right)\),取 \(S=n^{2/3}\) 得到 \(O(n^{2/3}\log\log n)\) 的上界 .
Submission . 用的调和级数复杂度算,根据论文 A. Granville and O. Ramaré, Explicit bounds on exponential sums and the scarcity of squarefree binomial coefficients. Mathematika 43 (1996), no. 1, 73-107,有估计 \(n\) 以内的无平方因子数的倒数和不大于 \(\dfrac23(\ln n+3)\),所以就有约 \(\dfrac13\) 的小常数,最后算出来大概就是 \(1.75\times 10^6\) 以下的暴力算最快 .
这两道题目都是按以下流程「标准处理」:
- 写出递推,从而做到 \(O(n^{3/4})\)(仿照杜教筛).
- 使用莫比乌斯反演导出答案的另一个式子,形如 \(\displaystyle\sum_{i=1}^nf(i)g\left(\left\lfloor\dfrac ni\right\rfloor\right)\) .
- 差分,以得到一个 \(O(n\log\log n)\) 或更优的简单算法,这种处理方法在 2022.12.11 闲话 曾提到过 .
- 综合起来,得到一个 \(O(n^{2/3}\log\log n)\) 的算法 .
不过这两题的递推组合意义差别较大,暂且无法找到能使用这种「标准处理」解决的其他题目 QAQ .
SoyTony:这不是妙手偶得吗 .
stO SoyTony 筛 Orz
然而这两道题目都有(比这个做法)相对 trivial 的 \(O(n^{2/3})\) 做法,甚至更优!怎么会事呢?
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/17464537.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ