青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

The Fourth Dimension Space

枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

積性函數(轉)

這個文章主要介紹了3算法

1線性時間篩素數

2線性時間求前n個數的歐拉函數值

3線性時間求前n個數的約數個數

一、   首先介紹下積性函數。

下面是wiki的條目:

 

在非數論的領域,積性函數指有對于任何a,b都有性質f(ab)=f(a)f(b)的函數。

 

在數論中的積性函數。對于正整數n的一個算術函數f(n)當中f(1)=1且當a,b互質,f(ab)=f(a)f(b),在數論上就稱它為積性函數。

若某算術函數f(n)符合f(1)=1,且就算a,b不互質,f(ab)=f(a)f(b),稱它為完全積性的。

 

例子

φ(n) -歐拉φ函數,計算與n互質的正整數之數目

μ(n) -默比烏斯函數,關于非平方數的質因子數目

gcd(n,k) -最大公因子,當k固定的情況

d(n) n的正因子數目

σ(n) n的所有正因子之和

σk(n): 因子函數,n的所有正因子的k次冪之和,當中k可為任何復數。在特例中有:

σ0(n) = d(n)

σ1(n) = σ(n)

1(n) -不變的函數,定義為 1(n)=1 (完全積性)

Id(n) -單位函數,定義為 Id(n)=n (完全積性)

Idk(n) -冪函數,對于任何復數、實數k,定義為Idk(n) = nk (完全積性)

Id0(n) = 1(n)

Id1(n) = Id(n)

ε(n) -定義為:若n = 1,ε(n)=1;若n > 1,ε(n)=0。有時稱為“對于狄利克雷回旋的乘法單位”(完全積性)

(n/p) -勒讓德符號,p是固定質數(完全積性)

λ(n) -劉維爾函數,關于能整除n的質因子的數目

γ(n),定義為γ(n)=(-1)ω(n),在此加性函數ω(n)是不同能整除n的質數的數目

所有狄利克雷特性均是完全積性的

 

 

二、再介紹下線性篩素數方法

bool notp[mr];//素數判定

__int64 pr[670000],pn,ans;//pr存放素數,pn當前素數個數。

 

void getprime()

{

    pn=0;

    memset(notp,0,sizeof(notp));

    for(int i=2;i<mr;i++)

    {

        if(!notp[i])pr[pn++]=i;

        for(int j=0;j<pn && pr[j]*i<mr;j++)

        {

            notp[pr[j]*i]=1;

            if(i%pr[j]==0)break;

        }

    }

}

 

利用了每個合數必有一個最小素因子

每個合數僅被它的最小素因子篩去正好一次。所以為線性時間。

代碼中體現在:

if(i%pr[j]==0)break;

pr數組中的素數是遞增的,i能整除pr[j],那么i*pr[j+1]這個合數肯定被pr[j]乘以某個數篩掉。

因為i中含有pr[j],pr[j]pr[j+1]小。接下去的素數同理。所以不用篩下去了。

在滿足i%pr[j]==0這個條件之前以及第一次滿足改條件時,pr[j]必定是pr[j]*i的最小因子。

 

 

三、結合線性篩素數算法的優化算法

基于這個線性篩素數算法,我們可以很容易地得到某個數的最小素因子。

因為當i%pr[j]!=0的時候,最小素因子pr[j]i互質,滿足積性函數的條件,可以直接得到f(i*pr[j])=f(i)*f(pr[j]).

不過當i%pr[j]==0時我們必須根據該積性函數本身的特性進行計算.或者在篩的同時保存并遞推些附加信息.總之要O(1)求得f(i*pr[j])及完成遞推附加信息.

 

下面的兩個例子是歐拉函數phi和約數個數.這兩個是最常用和最有優化價值的。

利用上面的性質都可以很容易地把前n個用O(n)時間推出來.

當然,利用這個性質還可以對其他積性函數進行優化,這里僅介紹兩個常用和有優化價值的。

 

1)歐拉函數(phi)

傳統的算法:

對于某素數pn|p(n能整除p)

if( (n/p) % i == 0 ) phi(n)=phi(n/p)*i;

else phi(n)=phi(n/p)*(i-1);

 

這個傳統算法的性質正好用在篩素數算法中.

pn的最小素因子,n/p包含該因子p,phi(n)=phi(n/p)*i;否則phi(n)=phi(n/p)*(i-1);

ppr[j], n/pi, ni*pr[j].

 

 

2)約數個數(divnum)

約數不能像phi那么自然,但還是有不錯的方法.

約數個數有個性質

divnum(n)=(e1+1)*(e2+1)...(ei表示n的第i個質因數的個數.)

傳統方法就是對每個數分解質因數,獲得各因數個數再用上式.

 

開一個空間e[i]表示最小素因子的次數

這次說直接點:

篩到i j個素數

 

對于divnum

如果i|pr[j] 那么 divnum[i*pr[j]]=divsum[i]/(e[i]+1)*(e[i]+2) //最小素因子次數加1

否則 divnum[i*pr[j]]=divnum[i]*divnum[pr[j]] //滿足積性函數條件

 

對于e

如果i|pr[j] e[i*pr[j]]=e[i]+1; //最小素因子次數加1

否則 e[i*pr[j]]=1; //pr[j]1



轉自:http://hi.baidu.com/cjhh314/blog/item/bfe13bce20fb7c3db600c85c.html

posted on 2009-11-03 13:46 abilitytao 閱讀(523) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩在线看片| 久久成人综合视频| 亚洲成色www久久网站| 久久久人成影片一区二区三区观看 | 美女久久网站| 亚洲九九精品| 欧美在线观看视频一区二区三区| 国产日本欧美在线观看| 午夜久久美女| 欧美一区国产二区| 亚洲欧洲综合另类在线| 亚洲电影免费| 亚洲性xxxx| 你懂的国产精品永久在线| 欧美日韩国产综合新一区| 在线播放亚洲| 久久精品视频在线免费观看| 日韩一级片网址| 久久精品国产免费| 国产精品欧美日韩| 亚洲欧洲一区二区在线播放| 欧美一区二区在线免费观看 | 一本色道久久综合| 亚洲伦理在线| 国模一区二区三区| 欧美二区在线看| 欧美三级视频在线观看| 国产自产2019最新不卡| 欧美一级黄色网| 欧美在线观看日本一区| 一本色道久久88亚洲综合88| 亚洲综合国产| 欧美激情国产日韩精品一区18| 一区二区在线观看视频| 欧美性大战xxxxx久久久| 久色婷婷小香蕉久久| 亚洲——在线| 99国产精品久久久久久久| 麻豆亚洲精品| 亚洲激情综合| 免费观看成人| 亚洲国语精品自产拍在线观看| 蘑菇福利视频一区播放| 亚洲性图久久| 国产精品亚洲产品| 亚欧成人精品| 亚洲三级免费观看| 欧美日韩ab| 久久久免费精品视频| 亚洲视频免费| 亚洲精品久久久久久久久久久久 | 久久久久久电影| 午夜精品在线| 亚洲小视频在线| 99综合视频| 亚洲精品在线电影| 亚洲欧洲一二三| 亚洲国产精品成人| 国产亚洲午夜高清国产拍精品| 国产精品久久久久久久久| 欧美日韩第一区| 欧美伦理一区二区| 欧美精品一二三| 欧美日本国产| 欧美日韩一区三区四区| 欧美日韩一区二区三区免费| 欧美日本不卡| 欧美色播在线播放| 国产精品久久久久久亚洲调教| 欧美视频一区二| 国产精品久久久久婷婷| 国产精品日韩欧美一区二区| 国产精品欧美日韩久久| 国产女同一区二区| 国产原创一区二区| 欲色影视综合吧| 亚洲激情在线视频| 日韩一级在线| 亚洲免费伊人电影在线观看av| 亚洲欧美日韩精品| 久久激五月天综合精品| 噜噜噜躁狠狠躁狠狠精品视频| 蜜桃av综合| 亚洲国产美女久久久久 | 久久亚洲国产精品日日av夜夜| 久久久久国产一区二区三区四区| 久久久久99精品国产片| 欧美成人精品一区二区| 亚洲大片在线| 9l视频自拍蝌蚪9l视频成人| 亚洲欧美综合精品久久成人| 欧美中文字幕第一页| 久久九九99| 欧美中文字幕久久| 毛片一区二区三区| 欧美成人免费全部观看天天性色| 亚洲高清在线视频| 亚洲精品黄网在线观看| 亚洲一区观看| 久久精品夜色噜噜亚洲a∨| 蜜桃av噜噜一区| 国产精品扒开腿做爽爽爽软件| 国产麻豆一精品一av一免费| 一色屋精品视频免费看| 99天天综合性| 久久精品一区二区| 亚洲激情婷婷| 亚洲欧美精品在线| 久热成人在线视频| 国产精品国产三级国产aⅴ入口| 国产一区二区三区久久| 亚洲精品一区二区三区樱花| 亚洲午夜影视影院在线观看| 久久久久91| 日韩视频精品在线观看| 欧美一区二区在线视频| 欧美激情视频一区二区三区在线播放 | 国产日韩视频一区二区三区| 伊人夜夜躁av伊人久久| 亚洲激情成人网| 免播放器亚洲一区| 欧美日韩视频一区二区| 国产在线日韩| 亚洲少妇自拍| 欧美a级在线| 亚洲欧美高清| 欧美激情一区二区久久久| 国产欧美日韩不卡| 亚洲免费观看在线视频| 久久久99免费视频| 日韩一级在线| 美女图片一区二区| 国产欧美一区二区三区国产幕精品| 亚洲精品免费在线| 久久久之久亚州精品露出| 夜夜嗨网站十八久久| 老司机精品视频一区二区三区| 国产精品日韩专区| 亚洲美女淫视频| 麻豆freexxxx性91精品| 亚洲尤物视频在线| 欧美日韩国产综合久久| 伊人天天综合| 久久久久www| 亚洲欧美日本日韩| 欧美日韩中文另类| 亚洲精品免费电影| 欧美大片免费观看| 久久久久久久999精品视频| 国产精品一区二区视频| 宅男噜噜噜66国产日韩在线观看| 欧美国产高清| 久久久伊人欧美| 黄色精品一区二区| 久久久久国产一区二区三区四区| 亚洲一区亚洲二区| 国产精品h在线观看| 夜夜爽99久久国产综合精品女不卡| 奶水喷射视频一区| 久久久欧美精品sm网站| 一区二区在线视频| 久久在线播放| 久久国产手机看片| 狠狠做深爱婷婷久久综合一区| 久久国产精品久久精品国产| 亚洲欧美日本另类| 国产亚洲一区二区三区在线观看 | 亚洲精品久久久久久下一站| 欧美阿v一级看视频| 久久精品一区四区| 伊人精品成人久久综合软件| 久久日韩粉嫩一区二区三区| 欧美在现视频| 在线观看一区二区精品视频| 免费成人在线观看视频| 快播亚洲色图| 亚洲精品免费在线| 99精品久久免费看蜜臀剧情介绍| 欧美日韩一区二区国产| 午夜精品久久久久| 欧美亚洲综合在线| 悠悠资源网亚洲青| 亚洲高清资源综合久久精品| 欧美喷潮久久久xxxxx| 在线视频精品一区| 亚洲在线中文字幕| 国产综合色产在线精品| 欧美成人有码| 久久久久久久久久久久久久一区| 亚洲电影免费观看高清完整版在线观看 | 国产精品中文字幕欧美| 激情综合网激情| 久久精品网址| 亚洲欧美亚洲| 国产日韩欧美精品在线| 久久成人羞羞网站| 欧美日韩视频在线一区二区| 亚洲久久视频| 日韩亚洲综合在线| 麻豆av一区二区三区久久|