闲话 24.7.22

闲话

哎呀,阿育大促了啊(
哎呀,我就喜欢玩罐头游戏啊(
哎呀,怎么远哭56,奥德赛都一折啊(
哎呀,怎么还能折上折啊(
哎呀,怎么跳出支付二维码了啊(
哎呀,怎么开始下载了啊(

所以闲话断更了。

而且我发现我写实分析读书笔记,居然被困在数理逻辑上了。我想仔细理一下这个的顺序,却发现根本没法完成(

所以闲话断更了。

推一首应景的歌:司空见惯的废人日记 by 沉林川 et al. feat. 诗岸

求你快点清醒 求你快点清醒
世界从来不会停下等你
拿出一分勇气 结束内心的刑期

奇思妙想:对特定 gf 的 y0 项提取系数

那些你不要的:其(?)。

其实可能是经典结论。高光公式:

[x0]F(1/x)1x=F(1)

其实可以拓展成 F(x0)=[t0]F(1/t)1x0t

先引入一下原问题吧。我尽量快进到 analyse 部分。

对每个 1nn0,计数函数 f:{xxn,xN+}{x+1xn,xN+},满足 f(f(x)1)=f(x)

n0105

考察 g(x)=f(x)1,则这就是 g(g(x))=g(x)。那么设 g(x) 的值域为 A,则 xAg(x)=x。那么枚举 k=|A|,考虑定义域大小为 n,有 nk 个数(不属于 A 的那些)的像可以从 k 个数(属于 A 的那些)里随便挑,剩下的数的像确定,答案就是

k=0n(nk)knk

好,specify 部分结束,扔进 oeis 可以查到这就是 A248。但 oeis 秒杀对标准处理技术的提升没有啥帮助,我们首先独立地推导一下它的生成函数。

由于 knk 难以分离成卷积的形式,我们不妨改为 (nk)k 然后二项式定理拆开。也就是

k=0n(nk)(nk)k= k=0n(nk)i=0k(ki)nki(k)i= i=0nk=in(ni)(niki)nki(k)i= i=0n(ni)k=0ni(nik)nk(ki)i

考虑最后是 nk(nkin)i 的形式,我们可以先构造一下卷积。知道我们需要

knkxkk!=enx

k(kn)ixkk!= k[tii!]e(kn)txkk!= [tii!]entk(xet)kk!= [tii!]exp(xetnt)

那么原式

= i=0n(ni)[xni(ni)!tii!]enkexp(xetnt)= n!i=0n[xniti]exp(xet+n(xt))

做换元 u=x,v=t/x,那么 x=u,t=uv,原式

= n!i=0n[unvi]exp(ueuv+nu(1v))= n![un]i=0n[vi]exp(ueuv+nu(1v))= [unvnn!]exp(ueuv+nu(1v))1v

终于!……?怎么这个形式那么不美观呢?看看 oeis,再看看我们的式子,我们惊讶地发现下面的等式是成立的:

[unvnn!]exp(ueuv+nu(1v))1v=[xnn!]exp(xex)

呃呃。先换元吧。令 x=uv,y=v,那么 u=(x/y),v=y,原式

= [xnn!y0]exp((x/y)ex+n(x/y)(1y))1y

首先考察

[x0]exp(a+b/x)1x

展开一下知道这就是

[x0](k([xk]exp(a+b/x))xk)(kxk)

而左边的每一项都恰能找到右边的唯一一项使得乘积是 x0 项,也就是上式

=k[xk]exp(a+b/x)=k[xk]exp(a+bx)=exp(a+b)

回到原式,整理得到

= [xnn!y0]exp((1/y)(xex+nx)nx)1y

这显然是

[xnn!]exp(xex)

因此可以做到 O(nlogn) 求一行。

能不能再给力一点啊?进一步的优化可能需要用到 Binomial Sums?我没学会,我先摆了。

posted @   joke3579  阅读(156)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-07-22 闲话 22.7.22
点击右上角即可分享
微信分享提示