1. 程式人生 > >【總結】noip數學彙總

【總結】noip數學彙總

noip臨近,有點怕需要數學知識定理才能做的題

快速冪

用途

O(logt)O(\log t)時間內求解xtx^t

證明&過程

由於xaxb=xa+bx^a\cdot x^b=x^{a+b},而且每個自然數tt都可以拆分為不超過log2t\log_2t個二次冪的和,即t=i=0ki2it=\sum_{i=0} k_i2^i

xt=i=0xki2ix^t=\sum_{i=0}x^{k_i2^i}

其中kik_i0/10/1x2ix^{2^i}可以遞推求得

程式碼

int qpow
(int A,int B){ int res(1);while(B){ if(B&1)res=1ll*res*A%p; A=1ll*A*A%p,B>>=1; }return res; }

一些定理

  • 威爾遜定理:對於任意質數pp,有(p1)!p1(modp)(p-1)!\equiv p-1\pmod p
  • 費馬小定理:對於任意質數pp,有ap11(modp)a^{p-1}\equiv 1\pmod p

擴充套件歐幾里得

用途

求解形似 pa+qb=gcd(a,b)p\cdot a+q\cdot b=\gcd(a,b)

方程的解

證明&過程

由於gcd(a,b)=gcd(b,a mod b)\gcd(a,b)=\gcd(b,a\bmod b),則有

pa+qb=gcd(a,b)=gcd(b,a mod b)=pb+q(aabb)p\cdot a+q\cdot b=\gcd(a,b)=\gcd(b,a\bmod b)=p\cdot b+q\cdot (a-\frac ab\cdot b)

=qa+(pabq)b=q\cdot a+(p-\frac ab\cdot q)\cdot b

遞迴求解即可

程式碼

void exgcd(int a,int b,int&x,int&y){
	if(!b){x=1,y=0;return ;}
	exgcd(b,a%b,x,y);
	int tmp=x;x=y;y=tmp-a/b*y;
}

線性求逆元

用途

O(n)O(n)時間內求解區間[1,n][1,n]中所有數的逆元

證明&過程

ii 關於 pp 的逆元

一般的對於 i=1i=1,有i11(modp)i^{-1}\equiv 1\pmod p

對於 i>1i>1 的情況,設p=ki+rp=k\cdot i+r

放在模意義下,ki+r0(modp)k\cdot i+r\equiv 0\pmod p

同乘r1i1r^{-1}\cdot i^{-1},得kr1+i10(modp)k\cdot r^{-1}+i^{-1}\equiv 0\pmod p

由上面的定義式,有k=pi,r=p mod ik=\lfloor \cfrac pi\rfloor,r=p\bmod i

則有i1pi(p mod i)1(modp)i^{-1}\equiv -\lfloor \cfrac pi\rfloor \cdot (p\bmod i)^{-1}\pmod p

後面的(p mod i)1(p\bmod i)^{-1}可以通過呼叫前面的陣列得到,前面的部分相當於轉移係數

程式碼

inv[1]=1;
for(int i=2;i<=n;++i)
	inv[i]=1ll*(p-p/i)*inv[p%i]%p;

中國剩餘定理

用途

求解同餘方程組

{xa1(modp1)xai(modpi)xan(modpn) \begin{cases} x\equiv a_1\pmod {p_1}\\ x\equiv a_i\pmod {p_i}\\ x\equiv a_n\pmod {p_n} \end{cases}

證明&過程

將式子拆開為多個形似下面的式子

{x0(modp1)xai(modpi)x0(modpn) \begin{cases} x\equiv 0\pmod {p_1}\\ x\equiv a_i\pmod {p_i}\\ x\equiv 0\pmod {p_n} \end{cases}

則對於每個方程化為方程:kj̸=ipj+rpi=1k\cdot \prod_{j\not =i}p_j+r\cdot p_i=1,最後再乘上 aia_i

擴歐求解,解出第 ii 個方程的解為 tit_i ,則將答案合併得 Ans=ti(modpi)Ans=\sum t_i \pmod {\prod p_i}

程式碼

void CRT(){
	read(n);
	int lcm=1;
	for(int i=1;i<=n;++i){
		read(a[i]),read(p[i]);
	    a[i]%=p[i];lcm*=p[i];
	}
	int x,y,ans=0;
	for(int i=1;i<=n;++i){
		int kl=lcm/p[i],t;
	    exgcd(kl,p[i],x,y);
	    t=1ll*x*kl*a[i]%p;
	    ans=(ans+t)%lcm;
	}
	printf("%d\n",ans);
}

斐波那契數列

遞推公式

Fi=Fi1+Fi2F_i=F_{i-1}+F_{i-2}

相關推薦

總結noip數學彙總

noip臨近,有點怕需要數學知識定理才能做的題 快速冪 用途 O(log⁡t)O(\log t)O(logt)時間內求解xtx^txt 證明&過程 由於xa⋅xb=xa+bx^a\cdot x^b=x^{a+b}xa⋅xb=xa+b,而且每個自然數ttt

總結[NOIP]提高難度以下題目彙總

前言 現在已經準備好從1997年NOIP(普及&提高)的題做到2016年了 這20年的題目洛谷上都有 因為提高難度以下的題目比較簡單 就簡單的彙總來寫 概括一下每一個題的核心 這是第一彈

總結NOIP模擬賽記錄

時間欄為粗略時間,並不精準。 10.15三校聯考(100+60+0) 操作內容 時間 備註 通看所有題意 10min T1正解+除錯

總結組合數學

容斥原理 反演原理 \[ 若\ g_{n}=\sum_{i=0}^{n}a_{ni}f_{i}\ ,則 f_{n}=\sum_{i=0}^{n}b_{ni}g_{i}\ 成立的充要條件為 \sum_{j=i}^{n}b_{nj}a_{ji}=[n==i] \] \(proof:\) \[ \begin{a

章節總結理科數學——立體幾何

概述 立體幾何是 高考全國統一考試大綱:理科數學 的考察內容之一,對應數學必修二教材的 第一章 空間幾何體 以及 第二章 點、直線、平面之間的位置關係 兩個章節。高考可能考出2~3題,分值在20分左右。 可在高中數學知識體系找到對應思維導圖。 空間幾何體 一、基本概念

l q y z NOIP資格選拔賽總結

三道題: T1:玩具迷題 T2:組合數問題 T3:聯合權值 T1: 模擬大水題,只需要按照題目中說的做就好了 只給程式碼,,, #include<iostream> #include<cstdio> #include<cstdlib> #include<cs

OI總結初戰NOIP——NOIP2018遊記

前言 從最初接觸oi到複賽結束,也已經將近有一年了。從對於程式一竅不懂到現在開始深入學習演算法,只是短短的不到一年的時間罷了。這次noip,不僅僅是我oi生涯的第一次noip,更是相當於是對我這一年的努力的一個檢驗。希望這次能取得一個好的成績吧。     

總結PHP常見面試題彙總(三)

目錄:1、php如何在文章列表中任意位置或固定位置插入新的文章?比如:3、6位置 2、php如何刪除兩個陣列中有交集的元素? 3、php如何在陣列頭部和尾部及任意位置插入元素? 4、php如何將二位陣列按某一個或多個欄位值(升序/降序)排序?數字索引被重置,關聯索引保持不變

總結20151031重慶市NOIP模擬賽

世上最最悲催的事莫過於手殘打錯字母和看錯題目… 考完之後還是一句話我是SB… 今日的題其實並不難,然而就木有AC一道題… 第一題當時想了很久,不知道為什麼會對這個模型如此生疏(可能是好久都木有做組合數學的題了),還是在寫第三題的時候才想出來。一陣狂喜就手殘

總結PHP常見面試題彙總(四)。。。

目錄: 1、如何使用php匯入匯出csv? 2、php接收POST資料的方式有哪些? 3、如何讓json_encode()不轉義斜槓?我在做伺服器返回一些資料時需要返回一些地址,但是預設的json_code是會對 / 轉義成 \/ 的 4、新浪微博、QQ空間、今日頭條PC版

總結PHP常見面試題彙總(一)

目錄: 1、php如何打印出上週的時間格式?如:"2015-01-22 14:42:09" 2、php如何打印出上週的時間格式?如:"2015-01-15 14:42:09" 3、php如何打印出上個月的時間格式?如:"2014-12-22 14:42:09" 4、簡述一下echo、print、p

總結PHP常見面試題彙總(一)。。。

/** * 第1題:用PHP打印出上週的時間格式,如:"2015-01-22 14:42:09" */ echo date("Y-m-d H:i:s",strtotime("-1 day"))."<br/>"; /** * 第2題:用PHP打印出上週的

Nginx教程(7) 正向代理與反向代理總結

資料 用戶訪問 認證 origin 訪問者 發送 -128 負載 行為 1、前言   最近工作中用到反向代理,發現網絡代理的玩法還真不少,網絡背後有很多需要去學習。而在此之前僅僅使用了過代理軟件,曾經為了訪問google,使用了代理軟件,需要在瀏覽器中配置代理的地址。我只知

總結spark按文本格式和Lzo格式處理Lzo壓縮文件的比較

spark lzotextinputformat1、描述spark中怎麽加載lzo壓縮格式的文件2、比較lzo格式文件以textFile方式和LzoTextInputFormat方式計算數據,Running Tasks個數的影響 a.確保lzo文件所在文件夾中生成lzo.index索引文件 b.以

測試方法總結

測試方法測試方法從測試設計方法分類測試名稱測試內容黑盒測試把軟件系統當作一個黑箱,無法了解或使用系統內部結構及知識白盒測試設計者可以看到軟件系統的內部結構,並且使用軟件的內部知識來指導測試數據及方法的選擇灰盒測試介於白盒和黑盒之間總結:在實際工作中,對系統的了解越多越好,目前大多數的測試人員都是做黑盒測試,很

養生NOIP模擬賽

分開 最小 合並 排序 -1 nbsp 判斷 傳遞 9.4 第一場:9.4 T1:n個點的樹,k個特殊點要求斷k-1條邊使它們分開,求最小代價。 算法:排序+並查集||樹型DP 題解:從大到小排序邊權後依次枚舉,若兩端點特殊則斷邊,若一端點特殊則合並傳遞,若無端點特殊則合並

總結差分約束模型的要點

cio 一個點 ros 最短路 所有 運行時間 16px net 不同   只是一些自己想到的東西,記下來以防忘記。   1. 求解一系列的 f[b] - f[a] <= x 不等式組時,由a向b建權值為x的邊,求最短路。有負環時無解,體現為在SPFA中一個點入隊

HTTP響應狀態碼總結

管理 指示 get 強制 opp 帶寬 行修改 accepted 代碼 常見的狀態碼【1XX】表示【消息】【2XX】表示【成功】【3XX】表示【重定向】【4XX】表示【請求錯誤】【5XX】表示【服務器端錯誤】200:OK。請求被正常處理204:No Content。請求被受

總結曼哈頓距離轉切比雪夫距離

現在 樹狀 use clas user height int 前綴和 比較 我們在用二維樹狀數組的時候,可以得到一個邊與坐標軸平行的矩形內點集的信息。 如果我們需要得到得到到一個點的距離小於等於K的點的信息呢。這些點構成的不在是邊也坐標軸

總結2017年個人總結

需要 一點 自己 編號 說話 計算 family 今天 美的 今天元宵,於是乎想寫個個人總結吧,反正最近又沒什麽學習的動力了,寫寫總結暫時停下休息吧 2017年怎麽說呢,前半年還在高中忙著高考,下午吃完飯就立刻跑去自習室做我的那本數學的《百題大過關》,老實說下午去自習室的這