Problem
- 求 ,是質數
- 由於是任意模數,所以需要MTT。
- 一種
暴力的方法是多項式加分塊,設定一個塊的大小,以及這樣一個多項式:
- 那麼答案就是
- 直接利用多項式多點求值可以搞到的複雜度。
- 直接求係數實在是太慢了,我們可以考慮另一種多項式的優秀處理方法——點值。
- 設,那麼我們最後就是要求所有的
- 利用倍增的思路,如果我們可以做到從到的乘二的轉化,以及加一的轉化,那麼就可以倍增求出最後的個點值了
乘二
- 對於,首先需要變成.
- 然後再在對應位置上乘上,就可以變成
- 考慮第一步需要得到,再綜合第二步,都相當於是從變成
- 系統化得來說,假設,那麼相當於我們已知,要求。
- 運用拉格朗日插值:
- 由於,所以不會出現的情況。後面可以直接FFT,前面的只需要用雙指針掃一遍即可。
加一
- 從到直接暴力即可。