zoukankan      html  css  js  c++  java
  • 「loj

    link。


    时隔大约一年回来再做一遍。

    看到自己当初用的是二项式反演,然后 ODE 的解法看起来非常构造(大概只是我不熟悉)。

    气抖冷,难道平凡推导就推不出来吗!(也有可能我没搜到相关的)

    推得出来的都不平凡。


    前排提醒:如果没写明取值范围则默认取所有有意义的值。


    先用集合幂级数或者 EGF 推,得到:

    [egin{aligned} frac{1}{2^D}sum_{k=0}^{n-2m}sum_{i=0}^{k}sum_{j=0}^{D-k}(-1)^iinom{k}{i}inom{D-k}{j}inom{D}{k}(D-2i-2j)^n end{aligned} ]

    以下记 (l = n - 2m),并假设 (lin[0, D))(当 (l < 0)(l geq D) 时是平凡的)。

    注意到求和式中最硬的其实是 ((D - 2i - 2j)^n),因为 (n) 非常大,只能将其看成一个整体而不能展开。

    因此以下再记 (s = i + j),则 (j = s - i)。原式化简成(省略 (frac{1}{2^D}) 的系数):

    [egin{aligned} sum_{s}(D-2s)^nsum_{i}sum_{k=0}^{l}(-1)^iinom{k}{i}inom{D-k}{s-i}inom{D}{k} end{aligned} ]

    注意到后面的组合数可以消成 (frac{D!}{i!(k-i)!(s-i)!(D-k-s+i)!})。其中 (k) 只出现在两项中,因此可以变成:

    [egin{aligned} &sum_{s}(D-2s)^ninom{D}{s}sum_{i}sum_{k=0}^{l}(-1)^iinom{s}{i}inom{D-s}{k-i} \ =&sum_{s}(D-2s)^ninom{D}{s}sum_{i}sum_{k=0}^{l}(-1)^{k-i}inom{s}{k-i}inom{D-s}{i} end{aligned} ]

    这里有 (sum_{k=0}^{l} (-1)^{k-i}inom{s}{k-i} = (-1)^{l-i}inom{s - 1}{l-i})

    原因是 (sum(-1)^{k-i}inom{s}{k-i}x^{k-i} = (1 - x)^s),求前缀和等价于乘以因子 (frac{1}{1 - x}),得到 ((1 - x)^{s - 1})

    当然如果你乐意,可以用上指标反转 + 平行求和来证。只是要注意 edge case。

    为了方便,我们特判 (s = 0) 的情况,得到:

    [egin{aligned} sum_{s > 0}(D-2s)^ninom{D}{s}sum_{i}(-1)^{l-i}inom{s - 1}{l-i}inom{D-s}{i} end{aligned} ]

    这样只能得到 “对于所有 (s),求 ([x^l](1-x)^{s-1}(1+x)^{D-s})” 之类的结果,不太好做。考虑再消组合数:

    [egin{aligned} sum_{s > 0}frac{D-l}{s}(D-2s)^ninom{D}{l}sum_{i}(-1)^{l-i}inom{l}{l - i}inom{D-l-1}{s-1-l+i} end{aligned} ]

    就变成了求 “对于所有 (s),求 ([x^{s-1}](1-x)^l(1+x)^{D-l-1})”,至少可以 fft 了。


    考虑 (F = (1 - x)^l(1 + x)^{D - l - 1}) 可否用 ODE 来递推。发现 (F' = (-l) imesfrac{F}{1-x} + (D - l - 1)frac{F}{1+x})

    瓶颈卡在求 ((D - 2s)^n),可以线性筛做到 (O(frac{D}{ln D} imes log n) = O(log_D n))

    你怎么写得还没 fft 快,丢人.jpg。


    如果想知道更简单的推导方法,可以参考 https://codeforces.com/blog/entry/76447 中的最后一个。


    难道用二项式反演就不能 ODE 递推吗!气抖冷!

    貌似是可以的,注意到这里的二项式反演实际上就是复合 (F(x - 1)),复合之前 d-finite,复合之后自然也 d-finite。

    没认真推过,推不出来别找我(

  • 相关阅读:
    [三]JavaIO之IO体系类整体设计思路 流的概念以及四大基础分类
    [二] JavaIO之File详解 以及FileSystem WinNTFileSystem简介
    [一]FileDescriptor文件描述符 标准输入输出错误 文件描述符
    [零] JavaIO入门简介 程序设计语言 为什么需要IO库
    装饰器模式 Decorator 结构型 设计模式 (十)
    适配器模式 adapter 结构型 设计模式(九)
    layui 鼠标悬停单元格显示全部
    mysql 日期总结
    区域块路由与全局路由兼容,双重路由
    JS-SDK相关参考
  • 原文地址:https://www.cnblogs.com/Tiw-Air-OAO/p/14552118.html
Copyright © 2011-2022 走看看