![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模版
文章平均质量分 52
AledaLee
个人博客已经迁移到了https://sites.google.com/site/lishuo02wiki/,主要是一些技术的分享,有需要的可以访问。
展开
-
templete_Matrix
#include #include #include #include using namespace std; struct Matrix { const static int MAXN = 200; int data[MAXN][MAXN]; int n, m; int MOD; Matrix() { n = 3; m = 3; MOD = 110100;原创 2013-09-11 21:28:58 · 918 阅读 · 0 评论 -
templete_extgcd
#include #include #include #include using namespace std; typedef long long LL; int extgcd(int a, int b, LL &d, LL &x, LL &y) { if (b == 0) { d = a; x = 1; y = 0; } else { extgcd(b,原创 2013-10-12 11:03:35 · 873 阅读 · 0 评论 -
templete_RMQ
#include #include #include #include using namespace std; const int MAXN = 10000; int N, M; int A[MAXN]; int d[MAXN][18]; //Ò»¶¨ÒªÀÎÀεļÇסd[i][j]µÄº¬Ò壺ÒÔiÆðʼ£¬2^j´Î·½¸öÊýµÄ×îСֵ£» void原创 2013-10-12 11:06:44 · 791 阅读 · 0 评论 -
templete_LIS
#include #include #include #include #include using namespace std; const int MAXN = 100; int d[MAXN]; int LIS(int *A, int LEN) { int len = 0; d[0] = A[0]; for (int i = 1; i < LEN; i++) {原创 2013-10-12 10:24:04 · 836 阅读 · 0 评论 -
templete_trie
#include #include #include #include using namespace std; const int MAXNODE = 1000000 + 11; const int SEGMA_SIZE = 26; struct Trie { int ch[MAXNODE][SEGMA_SIZE]; int val[MAXNODE]; int size;原创 2013-10-12 10:20:45 · 825 阅读 · 0 评论 -
templete_线段树
[cpp] view plaincopy #include #include #include #include using namespace std; const int MAXN = 100 + 11; int N, M; int C[MAXN]; int lowbit(int x) { return x原创 2013-10-12 10:18:50 · 893 阅读 · 0 评论 -
templte_树状数组
#include #include #include #include using namespace std; const int MAXN = 100 + 11; int N, M; int C[MAXN]; int lowbit(int x) { return x & (-x); } void add(int x, int val) { for (int i = x;原创 2013-10-12 10:16:39 · 760 阅读 · 0 评论 -
templete_tarjan求scc
tarjan这个人很神奇呀,发表的算法非常的多,这个求有向图的强连通量,也是人家发明的。这个算法可以求出图中的强连通分量数目,和分别每个顶点所对应的强连通分量的编号,十分的好用呀,结合上其他的算法,就可以将图论的连通性展现的淋漓尽致呀。 直接贴出代码吧: #include #include #include #include #include #include /*原创 2013-10-11 21:46:12 · 912 阅读 · 0 评论 -
templete_cutv and cute
这几天真的比较累,有点支撑不过的感觉呀,不过也快结束了,我的ACM之路马上就要结束了呀。希望能画上一个完美的句号,或者是一个省略号,呵呵。都可以啦,其实自己有没有努力,自己是最清楚的,这个是不用骗别人和骗自己的。在ACM之路上,自己赶的不好,时机不对,也实际上,自己也真的觉得自己要想在这个道路上深走是走不下去的。不说了,好像现在还不是说这个的时候,下次吧,下次吧。 今天写的这个题目,是求一个无向原创 2013-10-11 20:41:16 · 955 阅读 · 0 评论 -
templete_find_cc
很久就说要总结强连通的题目就是不总结,这不你爽了吧! 今天的那个题目,明显就应该是强连通方面的题目,自己愣是看着也无从下手,无力呀。 说好的好好学几天,最后几天了,可是还是静不下心来,你这让我怎么说? 贴出这个无向图求强连通分量的代码吧: #include #include #include #include #include using namespace std; c原创 2013-10-08 22:00:59 · 690 阅读 · 0 评论 -
templete_BigNum(大数模版)
其实,我是不愿意上传大数模版的,自己也非常懒得自己动手写一遍,因为我觉得的,写的再好的大数模版,与java的BigInteger相比,也是相形见绌。但是,有的时候比赛是不让用java的,这个时候怎么办?那只能用模版了。所以,我也上网找了一些模版,认为这个写的还是不错的。就发给大家一起享用。 #include #include #include #include us原创 2013-09-21 20:15:19 · 799 阅读 · 0 评论 -
templete_Dinic(最短增广路算法)
Dinic算法的算法是这样的:将整个网络划分成不同的层次,应该可以理解,用BFS且队列维护的方法一次访问的结点,并且标上他们的层次,这样的访问是最小的路径,可以不用来回的访问结点,这样就极大的减小了盲目的搜索,这就成了走最少的结点,也能找出增广路,这样不省时间,怎么样省呢? 其他的注意事项我都在代码中写了,大家看看,有需要指点的,请指明共同进步: #include #include #原创 2013-09-18 11:27:20 · 1027 阅读 · 0 评论 -
templete_Edmonds_Karp(BFS求最大流算法)
看图论,网络流也看了两天了,今天心情还不错,还是看懂了这个BFS做的网络流了,昨天想用邻接表写,没有写成功,因为回溯的时候是在是有点麻烦,另外我自己觉得回溯的时候题解给的好想是错误的,反向的边的flow也应该是+,而不是-,因为只有有了反向流量才能够给题目一个反悔的机会,请大家帮忙看看,看有什么不对的不,看看这个模版写的怎么样。 明天写一写别的最大流算法,今天非常的满足: #include原创 2013-09-17 22:32:34 · 920 阅读 · 0 评论 -
templete_SPFA()
这个还是要多说点东西。这几天写模版的收获还是很多的,但是由于事比较多,然后自己的心态的问题,所以写的也不怎么好,也没有什么注释什么的。非常的遗憾。 现在我要说一说这个比较好的SPFA算法了,这个其实也是比较像优先队列维护的Dijkstra算法的。但是由于dijkstra算法只能用于正权的边,所以也是无法正确算出答案的。 但是SPFA就不同了,因为它并没有每次取出最优的解,而是选择遍历结果,这样原创 2013-09-16 17:42:54 · 908 阅读 · 0 评论 -
templete_dijkstra
心里静不下来呀,总是得失心太强,没有将生活当做一种享受,这一段时间我把图论的算法全部搞定,就完成我的任务了,我自己进步了,就是最大的收获! 别的希望自己放宽心。 #include #include #include #include using namespace std; const int INF = 0x3fffffff; const int MAXN = 100 +原创 2013-09-14 16:18:29 · 906 阅读 · 0 评论 -
templete_最长回文子串manachar
#include #include #include #include using namespace std; const int MAXN = 110000 + 11; char b[MAXN]; char str[MAXN * 2]; int p[MAXN * 2]; int manachar() { int temp; memset(p, 0, sizeof(p))原创 2013-09-15 21:24:45 · 789 阅读 · 0 评论 -
templete_calculate tree
大家看看吧,就是一个简单的字符实现四则运算的程序,并且只能是十进制的数字的四则运算,不过用到了图论的一些方法,对于复习图论来说还是不错的一道题目的,而且正好写了个模版。 贴出: #include #include #include #include /* *这个问题是我独自想清楚的,其实只要自己动脑筋,其实许多问题都是可以解决的,下一步需要解决的就是大于10位数的 *四则运算原创 2013-09-13 13:07:03 · 927 阅读 · 0 评论 -
templete_LIS
#include #include #include #include #include using namespace std; const int MAXN = 100; int d[MAXN]; int LIS(int *A, int LEN) { int len = 0; d[0] = A[0]; for (int i = 1; i < LEN; i++) {原创 2013-09-11 21:51:42 · 818 阅读 · 0 评论 -
templete_中国剩余定理
#include #include #include #include using namespace std; const int MAXN = 111; int a[MAXN]; int m[MAXN]; int N; int extgcd(int a, int b, int &d, int &x, int &y) { if (b == 0) { d = a;原创 2013-10-12 11:10:54 · 1036 阅读 · 0 评论