多項式簡單應用

2022-05-11 14:10:30 字數 778 閱讀 8588

求\(\displaystyle\sum_^na_i \cdot b_i\)

對於求\(\displaystyle\sum_^na_i \cdot b_i\) 把b陣列翻轉一下, 等價於求\(\displaystyle\sum_^na_i \cdot b_\), 這不就是乙個卷積嘛, 時間複雜度\(\theta(nlog_n)\)

你可能會說時間複雜度變得更差了,還帶了大常數, 別急, 它在求解許多個乘機時有妙用

如求\[max_\^a_i \cdot b_ \}

\]其中a和b是兩個陣列, b陣列的長度是n, 你想求從a的每乙個位置開始,與b按位相乘的最大值

如果按照上面的做法, 設:

\[c_j = \displaystyle\sum_^a_i \cdot b_

\]所求就是c陣列n以上的項的最大值, 到這已經可以解決一些題目了, 如禮物

有字串s和t, 假設他們只有四種字元, 求t在s中所有出現的位置

媽媽我會kmp, kmp顯然可以\(o(n)\)解決,但是它太優秀了,所以我們要乙個\(\theta(nlog_n)\)的演算法

乙個乙個字元考慮, 比如字元c,溫兩個多項式,在原串中此位置是否為c, 是為1, 否為0

對於從某個位置開始匹配, 如果按位相乘\(\displaystyle\sum_^na_i \cdot b_i\) 所得不就是b和a有多少位置都是c嘛, 如果列舉所有字元,並將答案相加,如果恰好等於n,那麼說明完全匹配上了

這個是可以用我們上面提到的多項式優化的

題目:

初等對稱輪換多項式簡單應用

這篇寫好之後屯了很久,好像沒有什麼能增補的了,只好發上來了。參考資料 感謝yanqval和11dimensions對本文的幫助。由於早就成為一名嘴巴選手了,所以本文中的所有東西都沒有寫過 首先是定義。簡單地說,對於n個變數 x 1,x 2.x n k項初等對稱多項式就是每種從n個變數中任選k個的方案...

MATLAB多項式及多項式擬合

多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...

數學 多項式 多項式求逆

多項式求逆 前置知識 ntt 給定乙個多項式 f left x right 求乙個多項式 g left x right 使得 f left x right g left x right equiv 1 left bmod 998244353 right 考慮遞迴求解。假定現在已經求出了 g 0 le...