原创 L-HDU 1241

方法一 dfs #include <iostream> #include <cstring> #include <vector> #include <queue> using namespace::std; typedef pai

原创 E-POJ 1426

#include <iostream> #include <cstring> #include <stack> using namespace::std; // 從0位向最高位dfs搜索,每位要麼取0,要麼取1 // 並且保存搜

原创 D-POJ 3279

#include <iostream> #include <cstring> #include <vector> #include <memory> using namespace::std; // 第i行翻轉後,第i+1行的翻

原创 I-FZU 2150

方法一 雙起點BFS,會TLE #include <iostream> #include <vector> #include <string> #include <cstring> #include <queue> using n

原创 F-POJ 3126

#include <iostream> #include <queue> #include <cstring> using namespace::std; typedef pair<int, int> pii; // BFS,篩

原创 G-POJ 3087

#include <iostream> #include <string> #include <map> using namespace::std; // 水題,理解題意就好 int N, C; string s1, s2, s

原创 70道面試常見算法題

字符串的循環移位 三次翻轉 字符串的包含 哈希表 字符串全排列 next_permutation算法 字符串的所有組合 dfs 字符串轉整數 stoi(), stol(), 注意邊界 迴文判斷:判斷字符串是

原创 EffectiveCPP

視C++爲一個語言聯邦 C、面向對象、泛型和模板、STL 儘量以const, enum, inline替換 #define 宏定義不夠安全 儘可能使用 const const * int p; // 被指向物是常量

原创 J-HDU 2594 (KMP & 擴展KMP)

HDU 2594 Simpsons’ Hidden Talents 爲了搞定這題,先要學習擴展KMP算法。當然這題用普通KMP求next數組也可以做,兩種方法的AC代碼都會放在最後。 擴展KMP 擴展 KMP 解決的是這樣的問題:

原创 B-POJ 2253

#include <iostream> #include <cstring> #include <vector> #include <cmath> #define INF 0x3f3f3f3f using namespace::s

原创 D-POJ 3268

#include <iostream> #include <cstring> using namespace::std; #define INF 0x3f3f3f3f const int maxn = 1002; // 有向圖的

原创 E-POJ 1860

#include <iostream> #include <queue> #include <cstring> using namespace::std; typedef struct Change { Change(vo

原创 A-POJ 2378

比較慢的dijkstra #include <iostream> #include <cstring> #include <vector> #define INF 0x7f7f7f7f using namespace::std;

原创 C-POJ 1797

方法一 樸素dijkstra #include <iostream> #include <cstring> #define INF 0x3f3f3f3f using namespace::std; // 普通dijkstra,O

原创 A-POJ 1321

#include <iostream> #include <vector> using namespace ::std; // 類似八皇后問題,用一個數組保存已經不能再放棋子的行,從第0列開始dfs void dfs(vect