原文:淺談幾種篩法

杜教篩 問題一般是求 sum i n f i 這樣的式子。 然后我們有一種很妙的想法,那就是構造兩個積性函數 h,g ,使得 h f g 然后嘗試推一下 h 的前綴和,發現: sum i n h i sum i n sum d i g d cdot f frac i d sum d n g d cdot sum i lfloor frac n d rfloor f i 如果記 S n sum i ...

2019-04-06 21:33 1 579 推薦指數:

查看詳情

淺談積性函數的線性篩法

前置知識 數論函數及相關基本定義 素數的線性篩 線性篩 線性篩可以在嚴格$O(n)$的時間內篩出積性函數的值, 它有常見的套路 假設$n = p_1^{a_1} p_2^{a_2} \do ...

Fri Jul 20 05:56:00 CST 2018 0 809
線性篩法(一)--素數篩法(一)

目錄 篩法 篩法 所謂篩法是一種思想,就像名字一樣,篩去多余的,篩去錯誤的。多數情況用數組標記,復雜度看起來很大,但代碼跑起來確是越跑越快。 素數篩法 問題引入 把n以內素數全找出來(n<=100000) 大家一定想得到第一種方法,暴力 ...

Fri Sep 14 16:47:00 CST 2018 0 820
淺談幾種常見的剪枝方式

幾種常見的剪枝方式 本篇隨筆簡單介紹一下信息學奧林匹克競賽中搜索算法的一個重要分支:剪枝。剪枝是提高搜索算法時空效率,使得算法在優越性上大大優化的技巧。有的時候暴力搜索(也叫爆搜)過不了時限的算法,通過各種剪枝+優化之后就能成功通過。可見剪枝的重要性。無論是正解搜索算法還是想不到正解無奈之下選擇 ...

Wed Oct 30 00:23:00 CST 2019 0 3126
素數與篩法

素數判別 1.O(x) [根本不用] 2.sqrt判別  O(√N) 如果x可以表示為兩個因子相乘 x=a*b 假設a<=b 那么x>=a*a a<=√ ...

Sat Apr 06 03:53:00 CST 2019 0 590
線性篩法

線性篩法 Eratosthenes 篩法利用的原理是 任意整數 x 的倍數 2x,3x,... 等都不是質數 。 但是即便如此也會有重復標記的現象,例如12既會被2又會被3標記,在標記2的倍數時,\(12 = 6*2\),在標記3的倍數時,\(12 = 4*3\) ,根本原因是沒有找到唯一 ...

Sun Oct 21 19:57:00 CST 2018 4 1531
素數篩法

之前在解釋求素數的一道習題時,提過一個方法,叫素數篩法。下面就對這種方法的過程進行詳細的解讀。 之前提到 假設所有待判斷的數字的上限是L,聲明一個長度為L+1的布爾數組A[L+1]。用這個數組來表示對應下標的數字是不是素數。起初,將數組所有成員標記為1,然后按照某種方法將其中的非素數都標記 ...

Sun Sep 17 08:04:00 CST 2017 0 1513
素數篩法

  素數的篩法有很多種,但是基礎就是對素數的判定。即,我們需要知道什么是素數,以及素數的一些性質,那么我們先講一講素數的性質(這一部分一定要好好掌握,對考試有很大的幫助):   定義:只有1和自身作為因子(就是因數,不用我再贅述了)的數叫做素數(也叫質數)。   性質(1):以π(x)表示 ...

Wed Apr 10 05:32:00 CST 2019 0 622
線性篩法

關於線性篩法 線性是指O(n)內篩掉所有合數,還有一種方法叫埃氏篩法,我先證明埃氏篩法效率低,也就是會有重復。 證明如下: 埃氏篩法的原理是找到一個素數后,它的1~n倍就會被篩掉,任何一個合數都可以被拆成一個質數*另一個數的形式,我們對每一個質數對應的可能的(合)數都枚舉了,這就保證了所有 ...

Mon Aug 21 05:07:00 CST 2017 0 1324
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM