2024.10.20 闲话

歌:可哀想はカワイイ♡ - みつあくま feat. 初音ミク .

动态 FFT

给一个长度为 \(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 .

posted @ 2024-10-20 07:28  Jijidawang  阅读(261)  评论(5编辑  收藏  举报
😅​