FFT NTT基礎題總結

2022-03-16 14:16:34 字數 582 閱讀 5395

在學各種數各種反演之前把以前做的$fft$/$ntt$的題整理一遍

還請數論$dalao$口下留情

題目中要求求出

$c_k=\sum\limits_^a_i*b_$

首先可以把$a$翻轉,

$c_k=\sum\limits_^a_*b_$

$c_k=\sum\limits_^a_*b_$

$f[i]=\sum_^\frac-\sum_^\frac$

$f[i]=\sum_^\frac$

構造出乙個$g[i]=\frac$就是乙個裸的卷積了

這道題的fft並不難想,只是容斥比較複雜,在這裡不再贅述

設$c[i]=\sum\limits_^[s[i]==s[i-j]]$($s$陣列從$1$開始編號)

$ans_i=2^$-不合法的個數,不合法的可以用$hash$二分

求$c[i]$可以分別考慮$a$,$b$的貢獻,以a為例:設$b[i]=s[i]=='a'$

那麼$c[i]=\sum\limits_^b[j]*b[i-j]$,便成了卷積的形式,fft求解即可

看到乘積果斷選擇原根化乘法為加法,之後因為n很大,需要用快速冪+ntt

FFT NTT中檔題總結

被deepinc 怕了,把一些題放到這裡來 其實這道題放到中檔題也不太合適,個人感覺真的很難,機房裡好像都是頹的題解 因為期望的可加性,把每個點的貢獻單獨處理,即求期望深度 考慮 y 對 x 的貢獻 當且僅當 x y 的路徑上第乙個點就選 y y 才能成為 x 的祖先 所以 y 對 x 的貢獻就是 ...

程式設計基礎題總結

由於instream.get可能會出錯,因此在使用instream.get時候,用while instream.fail 來迴圈get 此外 instream.fail 需要乙個起始狀態,因此總是在上面的while 開始之前先執行一次instream.get再執行迴圈 陣列 在initialisat...

計網的基礎題總結

一 填空題 1 三網指的是電信網路 有線電視網路和 計算機網路 2 按照網路的作用範圍可分為廣域網 都會網路,區域網 和個人區域網。3 在資料通訊中,按照訊號傳送方向與時間的關係,通道的通訊方式可以分為三種,即單工 半雙工 和 全雙工 通訊。4 資料鏈路層使用的通道有兩種型別點對點通道和 廣播通道 ...