有關莫比烏斯反演

對于兩個定義域為整數的函數F(x)和f(x);

若有:

然后F(x)可以快速求出;

如何用F求解f呢?

莫比烏斯反演:

對于兩個定義域為整數的函數F(x)和f(x);

若有:

則有:

其中μ(x)為莫比烏斯函數,其定義為:

對于(pi為質數)

若對于任意i存在ki>1,則μ(x)=0;

否則若質因子的個數為偶數,則μ(x)=1;

若質因子的個數為奇數,則μ(x)=-1;

有了這個定義之后;

為什么這是對的呢?

莫比烏斯函數有如下性質:

? ? ? μ(1)=1;

證明:

觀察上式,其含義為x的所有因子的μ和;

若x有重復質因子,則di可能有重復質因子,

但這樣的話μ(di)為零;

把μ為0的部分放在一邊;

剩下各自不含重復質因子的di了;

設x有k種質因子;

則設

顯然,有

于是

多項式定理(楊輝三角)

帶入x=-1,a=1,得證;

于是,莫比烏斯函數有了這樣的性質:

這可以用來證明莫比烏斯反演;

?

證明:

?

發現:d的集合完全等于k的集合;

對于每一個k,考慮f(k)對答案的貢獻;

發現在上式中;

?f(k)對答案貢獻f(k)·μ(d)

于是:

由莫比烏斯函數的性質可知:

于是

得證;

莫比烏斯反演的另一種形式:

若有

則有

證明思路大同小異,省去;

莫比烏斯函數的求法:

莫比烏斯函數是積性函數(易證);

于是可線性篩求解;

代碼如下:

void prime(){int i,j;vis[1]=true;mob[1]=1;for(i=2;i<=MAXN;i++){if(!vis[i])pri[++cnt]=i,mob[i]=-1;for(j=1;j<=cnt&&pri[j]*i<=MAXN;j++){vis[i*pri[j]]=true;if(i%pri[j])mob[i*pri[j]]=-mob[i];else{mob[i*pri[j]]=0;break;}}}
}

?

轉載于:https://www.cnblogs.com/nietzsche-oier/p/6821915.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254679.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254679.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254679.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(原創)JS點擊事件——Uncaught TypeError: Cannot set property 'onclick' of null

html部分代碼&#xff1a; JS部分代碼&#xff1a; 需要實現的效果&#xff1a;點擊圖片&#xff0c;來回相互切換。 我開始的錯誤做法&#xff1a;代碼如上圖所示&#xff08;邏輯上看起來是沒有錯誤的&#xff09; 嘗試過程&#xff1a;把JS代碼放在</body>閉合標簽之前…

事務傳播機制/數據庫異常解析——2016-8-13分享總結

一. 事務的傳播機制&#xff0f;required 跟 required new 的使用與區別 基礎回顧 1.1 事務的隔離級別&#xff1a; ISOLATION_READ_UNCOMMITTED&#xff08;讀未提交&#xff09; ISOLATION_READ_COMMITTED&#xff08;讀已提交&#xff09; ISOLATION_REPEATABLE_READ&#x…

console類詳細解釋

console類詳細解釋 微軟鏈接https://docs.microsoft.com/zh-cn/dotnet/api/system.console?viewnetframework-4.8 C#中沒有標準輸入輸出關鍵字&#xff0c;要調用console類下的方法。 練習與解釋代碼 using System; using System.Collections.Generic; using System.Linq; …

VC下調用x264進行視頻編碼,

4.X264.c中,h x264_encoder_open( param ) )是用來復制參數并驗證參數的有效性,在CCS下應該是不需要驗證參數的(參數都是在程序中設置好的),因此此處只作復制參數param和初始化X264_T h的操作.(VC下程序修改記錄080106下午)修改COMMON.C中的void x264_param_default( x264_…

UploadRTOS.exe

UploadRTOS.exe類似于一個啟動并為VxWin運行做準備的工具程序。VxWin安裝之后&#xff0c;可以使用 上傳工具程序 啟動實時操作系統。 利用命令行參數,您可以使它執行不同的功能。該 上傳工具程序 包含兩個文件: UploadRTOS.exe (命令行程序) UploadR…

20155307 2016-2017 《Java程序設計》第三次實驗報告

&#xff08;一&#xff09;敏捷開發與XP 敏捷開發是一種以人為核心、迭代、循序漸進的開發方法。“敏捷流程”是一系列價值觀和方法論的集合。從2001年開始&#xff0c;一些軟件界的專家開始倡導“敏捷”的價值觀和流程&#xff0c;他們肯定了流行做法的價值&#xff0c;但是強…

ElasticSearch創建、修改、獲取、刪除、索引Indice mapping和Index Template案例

為什么80%的碼農都做不了架構師&#xff1f;>>> The best elasticsearch highlevel java rest api-----bboss ElasticSearch客戶端框架bboss的ClientInterface 接口提供了創建/修改、獲取、刪除索引Indice和IndexTemplate的方法&#xff0c;本文舉例說明其使用方法…

ASCII碼與string的相互轉換

ASCII碼與string的相互轉換 思路&#xff1a; 1&#xff09;ASCII碼轉string&#xff1a;把字符&#xff08;串&#xff09;直接轉換為int類型&#xff0c;即可得到ASCII碼&#xff1b; 2&#xff09;string轉ASCII碼&#xff1a;將數字轉換為字符串轉出&#xff1b; {//將字…

X264代碼中一些參數的意義

Main&#xff08;int argc&#xff0c;char *argv[]&#xff09;; 為了方便起見&#xff0c;不妨改寫為&#xff1a; Main(void){ ...... intargc5; char*argv[]{ "main","-o","test.264","foreman.yuv","352x288" }; …

spring mvc注解@RequestMapping

1、url路徑映射 基本功能 2、窄化請求映射 根路徑子路徑 注意setViewName的路徑。 3、限制http請求方法 get和 post 如果是get 轉載于:https://www.cnblogs.com/jway1101/p/5773923.html

Start application automatically during controller boot-up

&#xfeff;&#xfeff; Tip English ?German Start application automatically during controller boot-up Description It is possible to start any program automatically during the boot-up procedure of the KR C4 controller. Precondition ?User group “Exper…

C#using static

平常用法&#xff1a; using 命名空間&#xff1b; using System; Console.WriteLine("Hello&#xff0c;World&#xff01;");using static用法&#xff1a; C#6中支持這種寫法&#xff0c;這樣定義后可以可以訪問類的靜態成員 WriteLine是Console類的靜態函數&am…

redis數據遷移

一&#xff1a;AOF方式 需求&#xff1a; 一個沒有數據的redis。 清空redis數據方法 bash> echo "keys *" | redis-cli --raw -p 6378 |sed -r s/(.*)/redis-cli --raw -p 6378 del \1 /g |bash 1.備份 bash> redis-cli --raw -p 6378 redis> config get di…

阿里云OSS 上傳文件SDK

Aliyun OSS SDK for C# 上傳文件 另外&#xff1a;查找的其他實現C#上傳文件功能例子&#xff1a; 1、WPF用流的方式上傳/顯示/下載圖片文件(保存在數據庫) &#xff08;文末有案例下載鏈接&#xff09; 2、WPF中利用WebClient向服務器上傳文件 3、C#文件上傳的簡單實現 4、C#實…

關于level_idc和Profile_IDC的解釋

2010-01-21 15:51:40| 分類&#xff1a; windows mobile開 |字號 訂閱 Description: Set bitstream Profile IDC. Default is 88. Note: Some profiles cannot support certain features. See MPEG-4 AVC for supported features for each profile. Reference software may…

老婆的駕照要下來了,形容下我此刻的心情

&#xfeff;&#xfeff; 老婆的駕照要下來了&#xff0c;形容下我此刻的心情&#xff1a; 路上遇到的女人&#xff0c;大部分是不用眼睛和腦子開車的&#xff0c;完全是憑自己的感覺開車。凡是看到前車奇慢、路口猶豫不決、不打燈緩慢變線、不該…

ADO.NET改進防注入

static void Main1(string[] args) { //用戶輸入一個需要查詢的條件 car表 Console.WriteLine("請輸入"); string code Console.ReadLine(); SqlConnection conn new SqlConnection("server.;databasemydb;usersa;pwd100867"); SqlCommand cmd conn.Crea…

poj 2139

Floyd-Warshall模板題&#xff0c;我才剛學最短路。。。。 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int maxn30050; int d[maxn][maxn]; int v,m,n; int a[maxn]; const int inf0…

C#使用了未賦值的局部變量

錯誤原因&#xff1a; 我們先看下例子&#xff1a; int A; Console.WriteLine("數字&#xff1a;{0:d}", A);//在控制臺輸出文本這時提示錯誤&#xff1a;錯誤 1 使用了未賦值的局部變量“A” 原因是C#在使用變量前必須要進行初始化。 解決 解決方案有兩個 1、在…

EtherCAT伺服驅動器-如何選擇硬件開發方案

&#xfeff;&#xfeff;EtherCAT伺服驅動器-如何選擇硬件開發方案