類歐幾里得演算法學習筆記

2022-05-19 01:59:40 字數 2074 閱讀 4072

如何求\(\sum_^ni^\lfloor\frac\rfloor^\)?\((1\leqslant n,a,b,c\leqslant10^9,k1+k2\leqslant 10)\)

設\(f(n,a,b,c)[k1][k2]\)表示原式的值,則:

若\(a\geqslant c\),設\(a=pc+q(0\leqslant q,則

\[\begin

&\;\;\;\;\;f(n,a,b,c)[k1][k2]\\

&=\sum_^ni^\lfloor\frac\rfloor^\\

&=\sum_^ni^(pi+\lfloor\frac\rfloor)^\\

&=\sum_^ni^\sum_^\text_^jp^ji^j\lfloor\frac\rfloor^\\

&=\sum_^\text_^jp^j\sum_^ni^\lfloor\frac\rfloor^\\

&=\sum_^\text_^jp^jf(n,q,b,c)[k1+j][k2-j]

\end\]

只需遞迴計算\(f(n,q,b,c)\)並\(o(k^3)\)處理即可。

若\(b\geqslant c\),設\(b=pc+q(0\leqslant q,則

\[\begin

&\;\;\;\;\;f(n,a,b,c)[k1][k2]\\

&=\sum_^ni^\lfloor\frac\rfloor^\\

&=\sum_^ni^(p+\lfloor\frac\rfloor)^\\

&=\sum_^ni^\sum_^\text_^jp^j\lfloor\frac\rfloor^\\

&=\sum_^\text_^jp^j\sum_^ni^\lfloor\frac\rfloor^\\

&=\sum_^\text_^jp^jf(n,a,q,c)[k1][k2-j]

\end\]

只需遞迴計算\(f(n,a,q,c)\)並\(o(k^3)\)處理即可。

若\(c>a\)且\(c>b\),則有:

\[\begin

&\;\;\;\;\;f(n,a,b,c)[k1][k2]\\

&=\sum_^ni^\sum_^\rfloor-1}((j+1)^-[j\neq0]j^)\\

&=\sum_^\rfloor-1}((j+1)^-[j\neq0]j^)\sum_^n[j<\lfloor\frac\rfloor]i^\\

\end\]

又\[\begin

&\;\;\;\;\;j<\lfloor\frac\rfloor\\

&\leftrightarrow j+1\leqslant\lfloor\frac\rfloor\\

&\leftrightarrow jc+c\leqslant ai+b\\

&\leftrightarrow jc+c-b-1

於是,設\(t_\)為\(\sum_^w^i\)的多項式表示式的\(j\)次項係數

\[\begin

&\;\;\;\;\;f(n,a,b,c)[k1][k2]\\

&=\sum_^\rfloor-1}((j+1)^-[j\neq0]j^)\sum_^n[i>\lfloor\frac\rfloor]i^\\

&=\sum_^\rfloor-1}((j+1)^-[j\neq0]j^)(\sum_^ni^-\sum_^\rfloor}i^)\\

&=\lfloor\frac\rfloor^\sum_^ni^-\sum_^\rfloor-1}\sum_^\sum_^\text_^t_j^p\lfloor\frac\rfloor^q\\

&=\lfloor\frac\rfloor^\sum_^ni^-\sum_^\sum_^\text_^t_\sum_^\rfloor-1}j^p\lfloor\frac\rfloor^q\\

&=\lfloor\frac\rfloor^\sum_^ni^-\sum_^\sum_^\text_^t_f(\lfloor\frac\rfloor-1,c,c-b-1,a)[p][q]

\end\]

只需遞迴計算\(f(\lfloor\frac\rfloor-1,c,c-b-1,a)\)並\(o(k^4)\)處理即可。

當\(a=0\)或\(n\)很小時可直接計算。

類歐幾里得演算法

比較快速地算出下面的式子 f n,a,b,c,k 1,k 2 sum limits n x lfloor frac rfloor 不妨假設現在 a geq c 或 b geq c 那麼 sum limits n x lfloor frac rfloor sum limits n x lfloor f...

類歐幾里得演算法

這個演算法用於求一條直線下整點個數,我們定義 f a,b,c,n sum lfloor frac rfloor 其他幾個乘係數的擴充套件不想學了tat a ge c 或 b ge c 當 a ge c 或 b ge c 時,我們考慮把分子對 c 的商和餘數分別提出來,那麼有 begin f a,b,...

類歐幾里得演算法

對於給定的元 a,b,c,n 設 f i lfloor frac rfloor 求 f a,b,c,n sum 0 nf i g a,b,c,n sum 0 nf i 2 h a,b,c,n sum 0 ni cdot f i lfloor frac rfloor lfloor frac rfloo...