2024.10.20 闲话
歌:可哀想はカワイイ♡ - みつあくま feat. 初音ミク .
给一个长度为 \(n\) 的序列 \(a\),保证 \(n\) 是 2 的幂 . \(q\) 次操作,支持单点修改 \(a\),单点查询 \(a\) 的 DFT 数组 .
令 \(n=2^b\) .
先给序列 \(a\) 做 \(\frac b2\) 轮 FFT,那么每次修改的时候只影响 \(2^{\frac b2}=\sqrt n\) 个位置,可以直接暴力改掉 .
查询的时候可以直接用 FFT 的那个递归的式子(Azune FFT 解析)做 \(\frac b2\) 层,递归树大小显然是 \(2^{\frac b2}=\sqrt n\) 的 . joke3579 表示这个事情实际上是在做转置的 FFT .
然后就 \(O(n\log n+q\sqrt n)\) 了,暴打根号重构啊!
其实可以考虑一下那个 meet-in-the-middle 的图,但是图对于这个题来说并不完全准确 .
这个图来自于我 4 年前的博客,看这个图片大概还是能感受到那股劲的 .
图
upd. Dream Fourier Transform .
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/18446727
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ