原创 【KMP】個人理解總結

KMP總結 這幾天複習kmp算法,發現自己看別人的講解又看糊塗了,所以還是需要將別人的思想理解之後,自己再輸出一邊。 KMP的來源 KMP的出現是爲了優化樸素模式匹配算法,那麼樸素模式匹配算法是什麼?又存在什麼缺點呢? 樸素模式匹

原创 網絡流入門

網絡流入門 1. 最大流問題 殘餘網絡:由殘餘容量(每條邊上的容量與流量之差)構成的叫殘餘網絡。 增廣路定理:如果殘餘網絡中不存在增廣路,則當前流就是最大流。 最小割最大流定理: 最大流的流量 = 最小割的容量 1.1 EK算

原创 數論總結

數論 1.1 Lucas定理 (擴展Lucas定理)【組合數取模】 Lucas定理: 要計算Cnm%pC_n^m \%pCnm​%p的值 n=nkpk+nk−1pk−1+...+n1p+n0 n = n_kp^k+n_{k-1}p^

原创 【歐拉降冪公式】【歐拉函數】

一、降冪公式 AK≡AK%ϕ(m)+ϕ(m)(mod  m) A^K \equiv A^{K\%\phi(m) + \phi(m)} (\mod m)AK≡AK%ϕ(m)+ϕ(m)(modm)

原创 【FFT快速傅里葉變換】講解

參考來源: 十分簡明易懂的FFT(快速傅里葉變換) 小學生都能看懂的FFT!!! 一、FFT的介紹 FFT是什麼 快速傅里葉變換(FFT)是一種能在 O(nlog⁡n)O(n\log{n})O(nlogn) 的時間內將一個多項式轉

原创 【線段樹】1108E2 Array and Segments (Hard version) & 1108E1 Array and Segments (Easy version)

The only difference between easy and hard versions is a number of elements in the array. You are given an array a con

原创 【FWT快速沃爾什變換】講解 + 例題 BZO-J4589 Hard Nim(FWT、博弈論、快速冪)

參考:FWT快速沃爾什變換學習筆記(證明等都非常詳細,雖然我沒看證明 ) 一、FWT的作用 FFT 、NTT:計算多項式卷積 Ck=∑i+j=kAi∗BjC_k=\sum_{i+j=k}A_i*B_jCk​=i+j=k∑​Ai​∗

原创 【高斯消元】

double a[maxn][maxn]; double x[maxn]; double EPS = 1e-6; int n, m; int Gauss() { int i, j, k; int max_r;

原创 【MST kruskal】 MST Unification CodeForces - 1108F

MST Unification CodeForces - 1108F You are given an undirected weighted connected graph with n vertices and m edges w

原创 【博弈論】常見總結

每次看到博弈論的題目就很腦闊疼 平衡狀態,又稱作奇異局勢。當面對這個局勢時則會失敗。 任意非平衡態經過一次操作可以變爲平衡態。 先手能夠在初始爲非平衡的遊戲中取勝,後手能夠在初始爲平衡的遊戲中取勝。 SG函數待補 兩個博客 1 2

原创 【矩陣快速冪】

struct Matrix { LL m[ms][ms]; } ans, base; Matrix multi(Matrix a, Matrix b) { Matrix tmp; for(int i = 0;

原创 【FFT】Kattis - aplusb A+B Problem 2016年ACM香港網絡賽

題目鏈接 題目 :Kattis - aplusb A+B Problem Given N integers in the range [−50000,50000], how many ways are there to pick t

原创 【Eular質數篩】

const int N = 1e6 + 10; bool prime[N]; int p[N], tot, num[N]; void init() { tot = 0; clr(prime, true); fo

原创 【中國剩餘定理】

const int N = 15; int n; LL yu[N], mo[N]; LL exgcd(LL a, LL b, LL &x, LL &y) { if(b == 0) { x = 1;

原创 【啓發式合併】(dsu on tree)講解

【啓發式合併】(dsu on tree)講解+例題 超級好的講解(來自cf) 一、啓發式合併的作用: 我們可以在O(nlogn) 的時間內,回答下列形式的所有詢問: 節點v的子樹中有多少節點有某種特性。 例如: 給一棵樹,每個節點有