每次看了很快就忘了,乾脆寫一篇部落格,來加深記憶。
設\[f(a,b,c,n)=\sum_^\lfloor\dfrac\rfloor
\]\[g(a,b,c,n)=\sum_^i\lfloor\dfrac\rfloor
\]\[g(a,b,c,n)=\sum_^\rfloor}^2
\]\[m=\lfloor\dfrac\rfloor
\]當a>=c時,\(=f(a\%c,b,c,n)+\lfloor\dfrac\rfloor*n(n+1)/2\)
當b>=c時,\(=f(a,b\%c,c,n)+\lfloor\dfrac\rfloor*(n+1)\)
然後\[=\sum_^\lfloor\dfrac\rfloor
\]我們將\(\dfrac\)當作一條以i為自變數的直線,
於是原式就等於這個直角梯形內的整點個數,
\[=\sum_^\sum_^[\lfloor\dfrac\rfloor>=j]
\]\[=\sum_^\sum_^[\lfloor\dfrac\rfloor>=j+1]
\]\[=\sum_^\sum_^[ai+b>=jc+c]
\]\[=\sum_^\sum_^[ai+b>jc+c-1]
\]\[=\sum_^\sum_^[ai>jc+c-b-1]
\]\[=\sum_^\sum_^[i>\lfloor\dfrac\rfloor]
\]\[=\sum_^\sum_^[i>\lfloor\dfrac\rfloor]
\]\[=\sum_^(n-\sum_^[i<=\lfloor\dfrac\rfloor])
\]\[=nm-f(c,c-b-1,a,m-1)
\]時間複雜度類似與擴充套件歐幾里得。
//坑
類歐幾里得演算法
比較快速地算出下面的式子 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...