原创 同餘

即  性質: 整除性            傳遞性        保持基本運算              放大縮小底數       k爲正整數,n爲正整數, 放大縮小模數       k爲正整數, 同餘關係式: 威爾遜定理 費馬

原创 因式分解,算術基本定理,積性函數(POJ 1452 Happy2004)

 積性函數:是指對於所有互質的整數a和b有性質f(ab) = f(a) * f(b)  算術基本定理:任何一個大於1的正整數都能唯一分解爲有限個質數的乘積,即N = p1^x1 * p2^x2 * p3^x3 * .... * pn^x

原创 威爾遜定理

  判定一個自然數是否爲質數的充分必要條件,即當且僅當p爲質數時,                                             例題:      

原创 盧卡斯定理及其盧卡斯定理的拓展

前言: 求一個組合數 ,我們可以通過逆元的方式在 O(n)的時間複雜度內求出 但如果數特別大時(數據範圍 ),又該怎麼辦 使用盧卡斯定理求解   盧卡斯定理:(組合數取模,取模的模數只能是質數) 即  模板: #in

原创 蔡勒公式

w:指星期,對7取模,0 -> 星期一   1 -> 星期二   2 -> 星期三  3 -> 星期四  4 -> 星期五  5 -> 星期六  6 -> 星期日 c:指世紀   y:指年份  一般情況下取後兩位,y % 100 m:指

原创 快速冪(二進制,十進制)

矩陣快速冪: #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long LL; const int ma

原创 2019牛客第四場I題 string

鏈接:https://ac.nowcoder.com/acm/contest/884/I   題意:求string串有多少個本質不同的子串,且這些子串之間兩兩不存在 a==rev(a),即不存在長度1以上的迴文串 題解: 要算string

原创 後綴自動機

自動機:由五部分組成,字符集,狀態集合,初始狀態,結束狀態集合,狀態轉移函數。 令 S :母串     Suf:後綴的集合     Fac:連續子串的集合     Suffix(a):從位置a開始的後綴爲Suffix(a)     S[

原创 快速乘法(防止數過大相乘超出long long)

inline LL ksc(LL x,LL y,LL mod){ return (x*y-(LL)((long double)x/mod*y)*mod+mod)%mod; }  

原创 三分查找

三分查找是二分查找的一個擴展,是基於分治思想的高效查找方法。 三分查找適用於凸函數或凹函數,它可以取得當前函數的最大值或最小值。 三分搜索實現主要是判斷midl 和 midr 值的大小, 模板: double solve(){

原创 用水填坑 (牛客)

https://ac.nowcoder.com/acm/contest/403/A 解析:該題很明顯是一道搜索題。首先我們必須明確在什麼情況下會形成水窪:即當某一點的高度小於等於( <= )上下左右四個方向時,會形成水窪。        

原创 2018第九屆藍橋省賽題目

標題:第幾天 2000年的1月1日,是那一年的第1天。 那麼,2000年的5月4日,是那一年的第幾天?   注意:需要提交的是一個整數,不要填寫任何多餘內容。 該題很簡單:125   標題:明碼 漢字的字形存在於字庫中,即便在

原创 單調隊列(轉載)

單調隊列 在對DP的優化中經常會用到。

原创 矩陣元素求積及其矩陣元素的差分

求積函數:prod(......, dim);      %dim表示維度 如: A = magic(3);   B = prod(A);     %默認按列乘積     8 * 3 * 4 C = prod(A, 2);    %

原创 sym()的應用

定義:該函數是用來符號數字、符號變量、符號對象。符號對象的類型是sym,可以通過class(S)來驗證,這裏S是一個符號對象。符號變量的優點是,使用符號變量運算得到的只是一個解析解。 優點:使用符號變量進行運算能夠最大限度的減少運算