2024.2.4 闲话
歌:NeruNeru-Chan travels to the Luminous Stars! - Halv .
分割线
如果你在某些代数系统中需要使用单位根 ,然而单位根在对应系统中不存在,该如何处理?
一种 naive 的想法:扩域把 加进去,然而复杂度非常高 .
对于代数系统 ,考虑扩域 ,则断言:
其中 是分圆多项式 .
这也就表明两个带着 的东西的运算相当于对应的多项式运算最后对分圆多项式 取模 .
结论可以由 是 的最小多项式简单证明 .
对于取模的具体计算,由于 ,在过程中可以先对 取模,最后再修正到 .
下面的内容可能和上文关系不大 . 但是上面的做法一般不容易有什么应用 .
考察多项式乘法在不存在单位根,但是可以做除法的情况 .
首先分析 DFT 的时间复杂度:
Lemma 1
假设 ,,,则对系数在 中的多项式做长为 的 DFT 的时间复杂度不超过 .
证明平凡不表 .
Lemma 2
做两个度不超过 的多项式 的乘法需要 次乘法和 次加法 .
令 满足 . 考虑不计算 ,而计算 (因为这里是要对素多项式 取模,由 所以这个转化是可以成立的,最后只需要把单位根换成 即可).
换言之,我们现在对 上的元素做乘法 .
令 , 且 ,,考察:
把内层 看成系数然后对外层做 DFT 即可 .
因为这里相当于在 上做 DFT 所以可以用上一个 Lemma 分析复杂度 .
DFT 的复杂度不超过 ,所以取充分小的 即可做到 次加法 .
对于乘法可以递归调用上述过程 .
加法: .
乘法: .
(根据一般 DFT 的经验,这里的复杂度应该是 的)
Reference:如何在任意代数结构上做多项式乘法 - whx1003 .
Upd. 应用:-FWT(不进位加法) - [CmdOI2019] 算力训练 .
以下是博客签名,正文无关
本文来自博客园,作者:yspm,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/18005634
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】