闲话
哎呀,阿育大促了啊(
哎呀,我就喜欢玩罐头游戏啊(
哎呀,怎么远哭56,奥德赛都一折啊(
哎呀,怎么还能折上折啊(
哎呀,怎么跳出支付二维码了啊(
哎呀,怎么开始下载了啊(
所以闲话断更了。
而且我发现我写实分析读书笔记,居然被困在数理逻辑上了。我想仔细理一下这个的顺序,却发现根本没法完成(
所以闲话断更了。
推一首应景的歌:司空见惯的废人日记 by 沉林川 et al. feat. 诗岸
求你快点清醒 求你快点清醒
世界从来不会停下等你
拿出一分勇气 结束内心的刑期
奇思妙想:对特定 gf 的 y0 项提取系数
那些你不要的:其(?)。
其实可能是经典结论。高光公式:
[x0]F(1/x)1−x=F(1)
其实可以拓展成 F(x0)=[t0]F(1/t)1−x0t。
先引入一下原问题吧。我尽量快进到 analyse 部分。
对每个 1≤n≤n0,计数函数 f:{x∣x≤n,x∈N+}→{x+1∣x≤n,x∈N+},满足 f(f(x)−1)=f(x)。
n0≤105。
考察 g(x)=f(x)−1,则这就是 g(g(x))=g(x)。那么设 g(x) 的值域为 A,则 x∈A⟺g(x)=x。那么枚举 k=|A|,考虑定义域大小为 n,有 n−k 个数(不属于 A 的那些)的像可以从 k 个数(属于 A 的那些)里随便挑,剩下的数的像确定,答案就是
n∑k=0(nk)kn−k
好,specify 部分结束,扔进 oeis 可以查到这就是 A248。但 oeis 秒杀对标准处理技术的提升没有啥帮助,我们首先独立地推导一下它的生成函数。
由于 kn−k 难以分离成卷积的形式,我们不妨改为 (n−k)k 然后二项式定理拆开。也就是
n∑k=0(nk)(n−k)k= n∑k=0(nk)k∑i=0(ki)nk−i(−k)i= n∑i=0n∑k=i(ni)(n−ik−i)nk−i(−k)i= n∑i=0(ni)n−i∑k=0(n−ik)nk(−k−i)i
考虑最后是 nk(n−k−i−n)i 的形式,我们可以先构造一下卷积。知道我们需要
∑knkxkk!=enx
和
∑k(k−n)ixkk!= ∑k[tii!]e(k−n)txkk!= [tii!]e−nt∑k(xet)kk!= [tii!]exp(xet−nt)
那么原式
= n∑i=0(ni)[xn−i(n−i)!tii!]enkexp(xet−nt)= n!n∑i=0[xn−iti]exp(xet+n(x−t))
做换元 u=x,v=t/x,那么 x=u,t=uv,原式
= n!n∑i=0[unvi]exp(ueuv+nu(1−v))= n![un]n∑i=0[vi]exp(ueuv+nu(1−v))= [unvnn!]exp(ueuv+nu(1−v))1−v
终于!……?怎么这个形式那么不美观呢?看看 oeis,再看看我们的式子,我们惊讶地发现下面的等式是成立的:
[unvnn!]exp(ueuv+nu(1−v))1−v=[xnn!]exp(xex)
呃呃。先换元吧。令 x=uv,y=v,那么 u=(x/y),v=y,原式
= [xnn!y0]exp((x/y)ex+n(x/y)(1−y))1−y
首先考察
[x0]exp(a+b/x)1−x
展开一下知道这就是
[x0](∑k([x−k]exp(a+b/x))x−k)(∑kxk)
而左边的每一项都恰能找到右边的唯一一项使得乘积是 x0 项,也就是上式
=∑k[x−k]exp(a+b/x)=∑k[xk]exp(a+bx)=exp(a+b)
回到原式,整理得到
= [xnn!y0]exp((1/y)(xex+nx)−nx)1−y
这显然是
[xnn!]exp(xex)
因此可以做到 O(nlogn) 求一行。
能不能再给力一点啊?进一步的优化可能需要用到 Binomial Sums?我没学会,我先摆了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2022-07-22 闲话 22.7.22