原创 【Matrix】矩陣乘法
矩陣乘法: Mat Mult(Mat a, Mat b){ // Mat 爲自定義類型 Mat c; memset(c.m, 0, sizeof(c.m)); c.r= a.r; c.c=b.c; //
原创 OI算法彙總
1.數據結構 - 線段樹 - 樹狀數組 - 平衡樹 - Link-Cut-Tree - 可持久化數據結構 - 分塊 - KD樹 - 可合併堆(左偏樹) 2.數學 - 組合數學 - 質數 - 模 - 數論函數 - 矩陣 - 博弈論 3.圖論
原创 【Aho-Corasick Automaton】
ZOJ 3494 BCD Code #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int each[10][4] =
原创 雙連通分量_road
問一個無向圖上面,連最少的邊,使之成爲一個雙連通圖.求出連邊的具體方法。 一開始首先要找出圖裏的雙連通分量, 把他們縮成一個點後再處理. 【雙連通分量】 求雙連通分量的方法和Tarjan差不多, 改一下就好了. 定義: "割點" & "橋
原创 線段樹-代碼實現細節與技巧
寫在最前 寫代碼,就是不斷地去模仿他人代碼,總結出其中要點,再加上自己的體會。 線段樹我一開始也是三段式: if (r<=mid) query(x+x, l, r); else if (l>mid) query(x+x+1, l, r)
原创 NOIP應試技巧
NOIP應試技巧 如何看待別人的經驗? 我想大家都有臺上的學長滔滔不絕,但是自己在臺下漠不關心,或是老師考試前的叮囑說完一會兒功夫就忘記了的經歷吧。所以,有可能我接下來的所說的話,一到考場上就全部忘記了。那些別人所分享的經驗與體
原创 【莫隊】
小Z的襪子 Powerful array Count on a tree II
原创 Fermat素性測試, Miller-Rabin素性測試
首先, 強調一句: Matrix67原創 , 轉貼請註明出處 http://www.matrix67.com/blog/archives/234 昨天看了看spoj的第2題(坑啊~), 說的是找出 A,B之間的素數, 有T<=10組數據
原创 sequence_單調隊列, connon_DP
1 sequence 給出n個二元對(ai, bi),從中確定最長不下降子串,其中位置i的值可以爲ai到bi的任意一個。(通俗的講就是,每個位置都可定一個值,介於ai與bi之間,再找出這個串的最長不下降子串)。 n<=10^6 <G
原创 gold_ 揹包DP, memory_KMP
這幾天做了幾道題目, 就寫一寫,題目真得很~好。 gold: 給出S個揹包, 每個揹包容量爲Y, 和N件物品,可以去任意次, 每個物品有一個價值V和重量W,且知道合併兩個揹包的代價爲C, 問價值和最大是多少。 50%: S*Y<=100
原创 【DP】ants
題目簡述: 平面上有N只螞蟻,每個螞蟻的位置我們用一個整數座標(x,y)表示。現在我們想知道這個平面上可能有幾羣螞蟻。我們稱一些螞蟻組成一個羣,當且僅當:這個羣裏任意兩隻螞蟻之間的距離,都嚴格小於這個羣裏任意一隻螞蟻到不屬於這個羣的任意
原创 【KM】
#include<cstdio> #include<cstring> using namespace std; const int N = 50, INF = 1e9; int nx, ny; bool adj[N][N]; int
原创 【STRINGS】合集
Ctrl+A = Tips [KMP] Crack 簡單匹配 Periodic Strings 簡單匹配+查找 String Factoring 與上題一樣,加上DP Milking Grid 思想與第二題是一樣的,但要分列分行處理 [
原创 stick_矩陣乘法
好吧, 重新寫一寫矩陣乘法。 考慮斐波拉契數列 Fi = Fi-1+ Fi-2 那麼考慮一個1*2的矩陣{ Fi, Fi-1 } 乘以一個 2*2的矩陣, 成爲{ Fi+1 , Fi} 考慮矩陣乘法的定義, 這個一維數組的第一個數