2023.6.8 闲话

你说得对,但是水浒传确实挺像恋跳的,简直完全一致啊!

半在线 Dirichlet 卷积?半在线整除卷积 == 杜教筛?

推歌:罰ゲーム - くるりんご feat. 初音ミク & GUMI(比较古老)

推歌:666 - RoughSketch(比较原神)

今天语录

K8He:(这是您的照片)哪个,希特勒啊?

K8He:会不会审核也是原批。

K8He:希特勒批,绷不住。

你说得对但是,内又有恶犬了。

K8He:拜什么登,拜我。

你说得对但是,内又有恶犬了。

K8He:今天太颓了,一天只写了四个题。

K8He:我挺有德行的。

K8He:模糊匹配都不行,博客园太菜了。

SoyTony:那你确实吊打我。

K8He:1e6 n^2 怎么过不去。

K8He:我是玩原神玩的。

K8He:你笔去玩原神了。

K8He:有福音了!

你说得对但是,内又有恶犬了。

K8He:我理解不了 TA 这个水平。

K8He:那你断章取义你改成「有福瑞了」。

K8He:没有意义那我随便说你不用记了。

你说得对但是,内又有恶犬了。

K8He:红题都随手切啊!这么强。

你说得对但是,内又有恶犬了。

K8He:你有原神吗?我比你更原神。

K8He:看着没,玩原神玩的,只知道打人。
你说得对但是,内又有恶犬了。

K8He:(看卷王监视器里自己过了一道题)卷。

K8He:Tarjan 在我上面。
K8He:对呀,确实在我上面。不管是物理层面还是精神层面。

K8He:现在的老年人都挺年轻的。
K8He:400 岁还不算年轻?

你说得对但是,内又有恶犬了。

K8He:今天 NOI 2022。

K8He:1e9 不得 O(1) 过吗?

K8He:你竟然看到 Keven_He 卷了绿题!!

你说得对但是,内又有恶犬了。

你说得对但是,内又有恶犬了。

SoyTony:我毁掉了 ASMR。

SoyTony:你是牛子。

SoyTony:六字?DJQ DXM?TIE TIE?

SoyTony:康有为是谁?

K8He:(不中考不高考,保送了)假。欸,没假。

K8He:我自己造一块金牌。

K8He:不是,把手机放哪,把手机放哪?

你说得对但是,内又有恶犬了。

K8He:你说得对但是,我要做,我要做,我就要做!——黑题。

高考作文

一个人乐意去探索陌生世界,仅仅是因为好奇心吗?请写一篇文章,谈谈你对这个问题的认识和思考。


SoyTony 太优异了,他用杜教筛 + 莫比乌斯反演 + 差分解决了一切问题。

无聊的水题 II

给正整数 n,问 1n 的子集中有多少个 GCD 为 1 的 .

1n1011 .

n 的答案是 f(n),则单步容斥可以得到:

f(n)=2n1i=2nf(ni)

这是类似杜教筛的形式,直接记忆化跑就是 O(n3/4) .

不过不太能过,考虑小范围预处理,对于 GCD 可以考虑莫比乌斯反演,令 F(x) 是满足 gcd=x 的方案数,G(x)xgcd 的方案数,则:

G(x)=xnF(n)F(x)=xnG(n)μ(nx)

那么不难发现的是 G(x)=2nx1,于是:

f(n)=F(1)=i=1nμ(i)(2ni1)

于是只需要快速处理 n2/3 内的 f(n),首先把减一排掉(可以线性筛处理)就是:

h(n)=i=1n2niμ(i)

对于整除问题不难想到考虑差分:

Δh(n)=h(n)h(n1)=2μ(n)+i=1n1(2ni2n1i)μ(i)=2μ(n)+12i=1n1[in]2niμ(i)=μ(n)+12dn2ndμ(d)

于是只需要处理每个差分即可递推得到所有 h,加号前面可以线性筛处理,加号后面 Dirichlet 前缀和即可 .

设预处理到 S 则根据分析可以知道复杂度是 O(SloglogS+nS),平衡太困难所以取 S=n2/3O(n2/3loglogn) 的时间复杂度,可以通过(应该吧).

简单的最大公约数

给正整数 n,m,求:

1i1,i2,,inmgcd(i1,i2,,in)

1n1011 .

首先枚举 GCD,后面计算 GCD 等于 k 的数量,之后整除分块即可 .

n 的答案是 f(n),则单步容斥可以得到:

f(n)=mni=2mf(mi)

这是类似杜教筛的形式,仍然是过不去考虑小范围预处理,那么仍然是考虑莫比乌斯反演,令 F(x) 是满足 gcd=x 的方案数,G(x)xgcd 的方案数,则根据类似的推导就可以知道:

F(m)=i=1mμ(i)min

仍然考虑差分:

Δf(m)=i=1mμ(i)(minm1in)=imi is not square-freeμ(i)((mi)n(m1i)n)

类似处理即可,时间复杂度 O(SloglogS+nS),取 S=n2/3 得到 O(n2/3loglogn) 的上界 .

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 以内的无平方因子数的倒数和不大于 23(lnn+3),所以就有约 13 的小常数,最后算出来大概就是 1.75×106 以下的暴力算最快 .


这两道题目都是按以下流程「标准处理」:

  1. 写出递推,从而做到 O(n3/4)(仿照杜教筛).
  2. 使用莫比乌斯反演导出答案的另一个式子,形如 i=1nf(i)g(ni) .
  3. 差分,以得到一个 O(nloglogn) 或更优的简单算法,这种处理方法在 2022.12.11 闲话 曾提到过 .
  4. 综合起来,得到一个 O(n2/3loglogn) 的算法 .

不过这两题的递推组合意义差别较大,暂且无法找到能使用这种「标准处理」解决的其他题目 QAQ .

SoyTony:这不是妙手偶得吗 .

stO SoyTony 筛 Orz

然而这两道题目都有(比这个做法)相对 trivial 的 O(n2/3) 做法,甚至更优!怎么会事呢?

posted @   yspm  阅读(166)  评论(4编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2022-06-08 NOIP提高组模拟赛26
😅​
点击右上角即可分享
微信分享提示