- 博客(54)
- 收藏
- 关注
原创 RMQ在线求LCA
#include<bits/stdc++.h>using namespace std;#define begin Begin #define next Next #define rank Rank#define REP(i, a, b) for (int i = (a), _end_ = (b); i <= _end_; ++i) #define ER(i, a) for (int i = begi
2016-08-16 17:17:22 644 1
原创 SGU102 欧拉函数 傻逼题
此题就是利用欧拉函数的性质求快速欧拉函数值Woc,辣鸡数据直接枚举都Accept啊#include <bits/stdc++.h>using namespace std;#define REP(i ,a, b) for (int i = (a), _end_ = (b); i <= _end_; ++i) #define debug(...) fprintf(stderr, __VA_ARGS__)
2016-08-11 16:48:57 538
原创 SGU101 欧拉回路 弱智水题
开始版刷SGU啦,SGU的题都是几十个点一道。。。MD一道题卡死你#include <bits/stdc++.h>using namespace std;#define begin Begin #define next Next #define count Count#define REP(i, a, b) for (int i = (a), _end_ = (b); i <= _end_; ++i
2016-08-09 17:10:03 375
原创 Radix-2 迭代FFT
#include <bits/stdc++.h>using namespace std;#define REP(i, a, b) for (int i = (a), _end_ = (b); i <= _end_; ++i) #define debug(...) fprintf(stderr, __VA_ARGS__) #define mp make_pair #define x first #de
2016-08-07 16:36:04 987
原创 Radix-2 分治FFT
#include <bits/stdc++.h>using namespace std;#define REP(i, a, b) for (register int i = (a), _end_ = (b); i <= _end_; ++i) #define debug(...) fprintf(stderr, __VA_ARGS__)const int dmax = 300100, oo = 0x
2016-08-05 23:26:13 782
原创 BZOJ2049 洞穴勘测 LCT
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> #include <set> #include <map> #include <stack> #include <queue> #include <vector>using namespace std;
2016-07-31 11:36:10 422 1
原创 BZOJ2002-弹飞绵羊 LCT
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> #include <set> #include <map> #include <stack> #include <queue> #include <vector>using namespace std;
2016-07-31 01:13:29 255
原创 HDU4010 LCT
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> #include <set> #include <map> #include <stack> #include <queue> #include <vector>using namespace std;
2016-07-30 15:56:28 348
原创 动态树 Link Cut Tree
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> #include <set> #include <map> #include <stack> #include <queue> #include <vector>using namespace std;
2016-07-30 15:51:27 307
原创 Rank-Tree带动态查询删除 Splay
#include <bits/stdc++.h>using namespace std;#define REP(i, a, b) for (int i = (a), _end_ = (b); i <= _end_; ++i) #define debug(...) fprintf(stderr, __VA_ARGS__) #define mp make_pair #define x first #de
2016-07-28 00:12:41 255
原创 HDU1754 Splay 区间维护
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> #include <set> #include <map> #include <stack> #include <queue> #include <string> #include <vector>us
2016-07-26 09:34:29 258
原创 Splay 区间维护模板
Warning: Splay常数较大,不是很适合RMQ之类的数据特别大的区间查询,Splay功能、灵活性首屈一指,比较适合有区间更新的题目 #include <bits/stdc++.h> using namespace std; #define REP(i, a, b) for (int i = (a), _end_ = (b); i <= _end_; ++i) #define debug(.
2016-07-26 09:02:30 272
原创 主席树 (函数式线段树)
#include<algorithm> #include<iostream> #include<cstdio> using namespace std; const int maxn = 100000 + 10;struct node { int l, r, w; node(int l=0, int r=0, int w=0): l(l), r(r), w(w) {} }T[maxn
2016-07-08 22:06:41 335
原创 POJ3321 线段树水题
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> #include <set> #include <map> #include <stack> #include <queue> #include <vector> using namespace std; #defi
2016-05-29 23:25:46 961
原创 POJ3468 线段树 + Lazy Tag (延迟标记)
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> #include <set> #include <map> #include <stack> #include <queue> #include <vector>using namespace std;
2016-05-28 20:31:06 639 1
原创 树链剖分 (LCT基础)
#include using namespace std; #define REP(i, a, b) for (int i = (a), _end_ = (b); i <= _end_; ++i) #define RREP(i, a) for (int i = first[a]; i > 0; i = next[i]) #define debug(...) fprintf(stderr,__
2016-04-08 00:10:54 429
原创 SBT平衡树
#include <bits/stdc++.h> using namespace std; #define REP(i, a, b) for (int i = (a), _end_ = (b); i <= _end_; ++i) #define debug(...) fprintf(stderr, __VA_ARGS__) #define mp make_pair #define x first #define y second #define pb push_back #define SZ(x) (i
2016-04-04 17:24:55 487
原创 Splay平衡树 (LCT基础)
#include using namespace std; #define REP(i,j,k) for (int i = (j), _end_ = (k); i <= _end_; ++i) #define DREP(i,j,k) for (int i = (j), _start_ = (k); i >= _start_; --i) #define debug(...) fprintf(st
2016-04-04 14:00:21 337
原创 矩阵的基本变换 | Matrix
#include using namespace std; #define max(x,y) Max(x,y) #define min(x,y) Min(x,y) #define REP(i,j,k) for (int i=(j),_end_=(k);i<=_end_;++i) #define debug(...) fprintf(stderr,__VA_ARGS__) #define pb
2016-03-31 13:32:04 732
原创 Manacher 线性时间求最长回文串
#include<bits/stdc++.h> #define REP(i,j,k) for (i=(j);i<=(k);++i) #define max(x,y) ((x)>(y)?(x):(y)) #define min(x,y) ((x)<(y)?(x):(y)) using namespace std; const int dmax=100100; char s[dmax]; int f[dmax]; int main(){ int i,j,k,m,n=0; s[0]='$'; while
2016-03-11 23:27:48 222
原创 HDU1010 DFS+剪枝水题
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> #include<algorithm> #define For(i,j,k) for (int i=j;i<=k;i++) #define update(x) (x=='X'?1:0) #define abs(x) ((x)>0?(x):-(x)) using namespace std; const int dmax=1010,d[5][2]={{0,0}
2016-03-03 13:41:02 281
原创 HDU2222 AC自动机水题 (Trie图优化)
#include #include #include #include #include #define For(i,j,k) for (i=j;i<=k;i++) using namespace std; struct node{ int count,flag; bool r; struct node *next[26],*fa,*fail; node(){ co
2016-02-27 16:25:43 478
原创 AC自动机 (Trie图优化)
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> #include<algorithm> #define For(i,j,k) for (i=j;i<=k;i++) using namespace std; const int dmax=1010; struct node{ int count,flag; struct node *next[26],*fa,*fail; char s1[110];
2016-02-26 13:34:22 1819
原创 USACO 4.2.1 网络流 最高标号预流推进(HLPP)
/* ID: shenxyy1 TASK: ditch LANG: C++11 */ #include<bits/stdc++.h> using namespace std; #define set(x) Set(x) #define REP(i,j,k) for (int i=(j),_end_=(k);i<=_end_;++i) #define DREP(i,j,k) for (int i=(j),_start_=(k);i>=_start_;--i) #define debug(...) fpri
2016-02-18 16:49:04 1145
原创 USACO 4.2.1 网络流 SAP
/* ID: shenxyy1 TASK: ditch LANG: C++11 */ #include<bits/stdc++.h> using namespace std; #define REP(i,j,k) for (int i = (j), _end_ =(k); i <= _end_; ++i) #define DREP(i,j,k) for (int i = (j), _start_ =(k); i >= _end_; --i) #define debug(...) fprintf(std
2016-02-17 17:24:47 332
原创 POJ2135 最小费用最大流
#include #include #include #include #include #define max(x,y) ((x)>(y)?(x):(y)) #define min(x,y) ((x)<(y)?(x):(y)) #define For(i,j,k) for (i=j;i<=k;i++) const int dmax=100100,INF=1000000000; int begi
2016-02-16 21:12:17 350
原创 POJ2400 KM最大匹配
#include #include #include #include #include #define For(i,j,k) for (i=j;i<=k;i++) using namespace std; const int dmax=1010,INF=100000000; int a[dmax][dmax],lx[dmax],ly[dmax],slack[dmax],d[dmax],ans,
2016-02-16 14:01:12 296
原创 USACO 4.2.1 网络流 Dinic
/* ID: shenxyy1 PROG: ditch LANG: C++ */ #include #include #include #include #include #define max(x,y) ((x)>(y)?(x):(y)) #define min(x,y) ((x)<(y)?(x):(y)) #define For(i,j,k) for (i=j;i<=k;i++) using
2016-02-16 00:42:11 314
原创 POJ3686 KM最大权匹配+高难度建图
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> #include<algorithm> #define For(i,j,k) for (i=j;i<=k;i++) using namespace std; const int dmax=2750,INF=100000000; int a[dmax][dmax],slack[dmax],d[dmax]; int lx[dmax],ly[dmax],nx,ny
2016-02-15 16:23:12 1577
原创 ZOJ1654 ZOJ那个___不让我过!
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> #include<algorithm> #define For(i,j,k) for (i=j;i<=k;i++) using namespace std; const int dmax=1010; int a[dmax][dmax],c1[dmax][dmax],c2[dmax][dmax],b[dmax][dmax]; int d[dmax],e,e1,
2016-02-14 17:47:31 347
原创 HDU2255 KM完备最大匹配
#include #include #include #include #include #define For(i,j,k) for (i=j;i<=k;i++) using namespace std; const int dmax=1010,INF=1000000000; int n,m,d[dmax],lx[dmax],ly[dmax],w[dmax][dmax],slack[dmax]
2016-02-13 16:57:35 6724
原创 HDU2222 AC自动机水题
#include #include #include #include #include #define For(i,j,k) for (i=j;i<=k;i++) using namespace std; const int dmax=100100; struct node{ int count,flag; struct node *next[26],*fail,*fa; node(){
2016-02-09 15:57:21 7678
原创 双向BFS模板
#include #include #include #include #include using namespace std; const int dmax=1010,d[5][2]={{0,0},{1,0},{0,1},{-1,0},{0,-1}}; int a[dmax][dmax],p[dmax][dmax],ans[dmax][dmax]; struct node{ int x,y
2016-02-09 15:22:18 7469
转载 Vim编辑器精通
转自:http://blog.csdn.net/niushuai666/article/details/7275406# vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。 ——————————正文开始—————————— 你想以最快的速度学习人类
2016-02-07 15:29:34 423
原创 AC自动机模板
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> #include<algorithm> #define For(i,j,k) for (i=j;i<=k;i++) using namespace std; const int dmax=1010; struct node{ int count,flag; struct node *next[26],*fa,*fail; char s1[110];
2016-02-07 01:24:20 7289
转载 AC自动机概述
目录(?)[-] AC自动机总结 引言KMP算法多字符串匹配问题和Trie字典树AC自动机的介绍AC自动机的构造多串匹配对于 AC自动机的改进从自动机的角度理解时间复杂度分析题目分析结束语 AC自动机总结 0.引言: 由于大连现场赛的一道 AC自动机+ DP的题目(zoj3545 Rescue the Rabbit)被小媛同学推荐看 AC自
2016-02-06 22:24:49 761
转载 AC自动机入门
AC自动机简介: 首先简要介绍一下AC自动机:Aho-Corasick automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有字典树Trie和KMP模式匹配算法的基础知识。KMP算法是单模式串的字符匹配算法,AC自动机是多模式串的字符匹配算
2016-02-02 23:56:04 1220
原创 POJ3461 字符串hash
//为了防止冲突,使用了双hash #include #include #include #include #include #define ull unsigned long long const ull B=1e8+7,C=1e8+119; const int dmax=1000100; char s[dmax],s1[dmax]; int hash(char *a,char *b){ i
2016-02-01 17:02:26 8442 1
原创 POJ3461 KMP快速字符串匹配
#include #include #include #include #include using namespace std; const int dmax=1000100; char s[dmax],p[dmax]; int next[dmax]; void get_next(char *p){ int k=-1,j=0,n=strlen(p); next[0]=-1; while
2016-02-01 15:43:36 7278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人