Cipolla演算法學習筆記

2022-04-30 04:12:09 字數 559 閱讀 5581

學習了一下1個$\log$的二次剩餘。然後來水一篇部落格。

當$p$為奇素數的時候,並且$(n, p) \equiv 1 \pmod$,用cipolla演算法求出$x^2 \equiv n \pmod$的一組解。

尋找乙個$a$,使得$a^2 - n$是乙個二次非剩餘。

期望只用2次就能找到。

令$\omega \equiv \sqrt \pmod$,顯然這個值不存在,我們強行擴域。

那麼$(a + \omega)^$即為一組解。

證明如下:

$$\begin

(a + \omega)^ & \equiv \sum_^ \binoma^i\omega^ \\

&\equiv a^ + \omega^ + (p + 1)(a\omega^p + \omega^p a) \\

&\equiv a^2 + (a^2 - n)^+(p+1)\omega\left[a(a^2-n)^ + a\right] \\

&\equiv a^2 - a^2 + n \\

&\equiv n \pmod

\end

$$

演算法 學習筆記

1.輸入輸出演算法至少有乙個或多個輸出 2.有窮性 3.確定性 4.可行性 1.正確性a.演算法程式沒有語法錯誤 b.演算法程式對於合法的輸入資料能夠產生滿足要求的輸出結果 c.演算法程式對於非法的輸入資料能夠得出滿足規格說明的結果 d.演算法對於精心選擇的,甚至刁難的測試資料都有滿足要求的輸出結果...

演算法學習筆記

複雜度分析 1.只關注迴圈次數最多的一行 2.總複雜度等於量級最大 的複雜度 3.巢狀 的複雜度等於巢狀 內外複雜度的乘積 單鏈表結構和順序儲存結構的優缺點 儲存分配方式 時間效能 空間效能 單鏈表結構 用一組任意的儲存單元存放線性表元素 查詢 o n 插入和刪除 找到某位置的指標後,插入和刪除的時...

演算法學習筆記

影象分割是機器視覺後續處理的基礎,通過分割提取影象中的目標區域,方便後續進一步分析處理。分水嶺分割演算法 傳統的分水嶺演算法,是基於數學形態學的分割方法。其基本思想是,將2d影象視為3d地形 其中,畫素的座標 地形的位置,畫素的灰度 地形的高度 每乙個區域性極小值及其周圍區域稱為集水盆地,而集水盆地...