關於數論的一些東西

2021-07-24 10:49:13 字數 1787 閱讀 2710

數論的題大概有幾類,積性函式、同餘方程、概率、組合數學、其他一些什麼東西和數論攪在一起= =

積性函式的題一般都要推公式,反演,線性篩,有時要遞迴處理子問題、杜教篩、應用某個函式的特殊性質

同餘方程的問題有方程解個數和求解等東西,有的在指數上又變一下,然後就crt,excrt,原根,bsgs,millerrabin,rho

概率就dp,容斥,配合組合數學弄

組合數學分解質因數,有個lucas定理(p是質數),快速階乘(迴圈節,遞迴處理子問題)

一些東西弄成卷積後可以用fft優化(比如dp方程) 傳送門

用fft轉回整數記得+0.5

fft在很多時候容易爆精度,有質數模數且能處理的規模即2k

≥n可以考慮ntt,不然就用mtt,預處理n次單位複數根的話fft效率提高很多∑n

i=1i

2=n(

n+1)

(2n+

1)6

∑ni=

1i3=

n2(n

+1)2

4 求自然數冪和,有幾類方法

第一類斯特林數(不會…)

遞迴 設f(

n,k)

=∑ni

=1ik

(n是2的倍數的情況)(懶得打分號了湊合著看吧) f(

n,k)

=∑n/

2i=1

ik+∑

n/2i

=1(i

+n/2

)k =

f(n/

2,k)

+∑n/

2i=1

∑kj=

0cjk

(n/2

)jik

−j =

f(n/

2,k)

+∑kj

=0cj

k(n/

2)k−

j∑n/

2i=1

ij =

f(n/

2,k)

+∑kj

=0cj

k(n/

2)k−

jf(n

/2,j

) o(

k2lo

gn)

dp求解 (n

+1)k

+1=∑

k+1j

=0cj

k+1n

j−> (

n+1)

k+1−

nk+1

=∑kj

=0cj

k+1n

j−> ∑

ni=1

(i+1

)k+1

−∑ni

=1ik

+1=∑

ni=1

∑kj=

0cjk

+1ij

−> (

n+1)

k+1−

1=∑k

j=0c

jk+1

∑ni=

1ij−

> c

kk+1

∑ni=

1ik=

(n+1

)k+1

−1−∑

k−1j

=0cj

k+1∑

ni=1

ij−> f

(n,k

)=(n

+1)k

+1−1

−∑k−

1j=0

cjk+

1f(n

,j)k

+1 o

(k2)

不知道寫什麼…就這樣吧

關於堆,棧的一些東西

堆和棧的區別 1 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 u 1 棧區 stack 由編譯器自動分配釋放 由編譯器在需要的時候分配,在不需要的時候自動清除 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。u 2 堆區 heap 一般由程式...

關於VBO的一些東西

有時候你不得不承認,opengl的開發真的不如directx,特別對於入門的人來說,乙個簡單的概念可以讓我嚼上幾天不得騎姐。vbo可以說是opengl中里程碑似的東西,通過vbo我們可以把需要渲染的圖元的頂點資訊,直接上傳儲存在gpu的視訊記憶體中。由於最早的opengl不支援例項化繪製,導致在繪製...

關於爬蟲的一些東西

這幾天在寫乙個爬蟲,實際上整個過程和思路很簡單,難點在於繁雜的格式處理和一些未知的小問題,還有對python不太熟悉.基本上是邊學邊寫.記錄一些過程中值得記住的東西.關於python的 1.檔案的開頭要用 coding utf 8 2.建立資料夾可以要import os os.mkdir r new...