随笔分类 -  算法模版

摘要:1、AC自动机 1 void buildTrie(Node *root, char *str){ 2 Node *p = root; 3 for(int i = 0; str[i]; ++i){ 4 int index = str[i] - '0'; ... 阅读全文
posted @ 2014-04-21 11:33 Oyking 阅读(229) 评论(0) 推荐(0)
摘要:1、凸包 1 inline bool cmp(const POINT &a, const POINT &b) { 2 if(a.y == b.y) return a.x = 0; 8 } 9 10 inline double dist(POINT &a, POINT &b) {11 return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));12 }13 14 void Graham_scan() {15 std::sort(p, p + n, cmp);16 top = 1;17... 阅读全文
posted @ 2013-08-19 23:32 Oyking 阅读(398) 评论(0) 推荐(0)
摘要:一、平衡树1、treap树 1 int key[MAXN], weight[MAXN], child[MAXN][2], size[MAXN]; 2 int stk[MAXN], top, poi_cnt;//not use point 3 4 inline int newNode(int k) ... 阅读全文
posted @ 2013-08-19 23:27 Oyking 阅读(485) 评论(0) 推荐(0)
摘要:1、求逆元1 int inv(int a) {2 if(a == 1) return 1;3 return (MOD - MOD / a) * inv(MOD % a);4 }View Code 2、线性筛法 1 bool isPrime[MAXN]; 2 int label[MAX... 阅读全文
posted @ 2013-08-19 23:14 Oyking 阅读(269) 评论(0) 推荐(0)
摘要:一、二分图1、最大匹配数=最大流=最小割=最小点集覆盖=总点数-最大独立集2、KM算法(最佳完美匹配) 1 int mat[MAXN][MAXN], slack[MAXN], Lx[MAXN], Ly[MAXN], left[MAXN]; 2 bool S[MAXN], T[MAXN]; ... 阅读全文
posted @ 2013-08-19 23:11 Oyking 阅读(386) 评论(0) 推荐(0)
摘要:一、代码: 1、求逆元(原理貌似就是拓展欧几里得,要求MOD是素数): 2、底层优化(正确性未验证): 3、扩栈,这玩意儿在OJ上用能防爆? 4、神速读入fread 二、神牛blog matrix67 ZKW watashi 三、专题 动态规划系列: 数位dp模板 字符串系列: 【专辑】AC自动机 阅读全文
posted @ 2013-08-14 23:48 Oyking 阅读(1316) 评论(0) 推荐(0)