2024.10.17 闲话

歌:センセイセンセイ - ぴーなた feat. 歌愛ユキ & メイメイ .

二项式展开

a,b,c,n,求:

i=0n[ci](ni)aibni

19260817 取模 . c100 .

原题比较随便做,下面考虑一下尽可能快能到多快 . 下面 M(n) 是长度为 n 的多项式乘法的复杂度 .

套路一下大概就是单位根反演,然后要求 1ci=0c1(aωci+b)n . 到这里其实有点不可做了,因为模意义下单位根不一定存在 . 我最快能编出 O(cM(c)logn) 的做法 .

还是别套路了 . 另一方面可以观察到,令 A 是如下构造的 c×c 矩阵(下标从 0 开始):

  • Ai,i=b .
  • Ai,(i1)modc=a .
  • 对于上面两条之外的位置,Ai,j=0 .

那么答案就是 A0,0n .

因为循环矩阵的幂还是循环矩阵,所以实际上只需要算第一行 . 然后每次矩阵乘法大概是做卷积,那么就 O(M(c)logn) 了,暴打单位根反演 .

upd. 楼下说得对,可以看成是算 [x0](ax+b)nmod(xc1) .

posted @   yspm  阅读(177)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
😅​
点击右上角即可分享
微信分享提示