![](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 · 927 阅读 · 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 · 880 阅读 · 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 · 798 阅读 · 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 · 845 阅读 · 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 · 833 阅读 · 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 · 907 阅读 · 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 · 769 阅读 · 0 评论 -
templete_tarjan求scc
tarjan这个人很神奇呀,发表的算法非常的多,这个求有向图的强连通量,也是人家发明的。这个算法可以求出图中的强连通分量数目,和分别每个顶点所对应的强连通分量的编号,十分的好用呀,结合上其他的算法,就可以将图论的连通性展现的淋漓尽致呀。直接贴出代码吧:#include #include #include #include #include #include /*原创 2013-10-11 21:46:12 · 917 阅读 · 0 评论 -
templete_cutv and cute
这几天真的比较累,有点支撑不过的感觉呀,不过也快结束了,我的ACM之路马上就要结束了呀。希望能画上一个完美的句号,或者是一个省略号,呵呵。都可以啦,其实自己有没有努力,自己是最清楚的,这个是不用骗别人和骗自己的。在ACM之路上,自己赶的不好,时机不对,也实际上,自己也真的觉得自己要想在这个道路上深走是走不下去的。不说了,好像现在还不是说这个的时候,下次吧,下次吧。今天写的这个题目,是求一个无向原创 2013-10-11 20:41:16 · 971 阅读 · 0 评论 -
templete_find_cc
很久就说要总结强连通的题目就是不总结,这不你爽了吧!今天的那个题目,明显就应该是强连通方面的题目,自己愣是看着也无从下手,无力呀。说好的好好学几天,最后几天了,可是还是静不下心来,你这让我怎么说?贴出这个无向图求强连通分量的代码吧:#include #include #include #include #include using namespace std;c原创 2013-10-08 22:00:59 · 697 阅读 · 0 评论 -
templete_BigNum(大数模版)
其实,我是不愿意上传大数模版的,自己也非常懒得自己动手写一遍,因为我觉得的,写的再好的大数模版,与java的BigInteger相比,也是相形见绌。但是,有的时候比赛是不让用java的,这个时候怎么办?那只能用模版了。所以,我也上网找了一些模版,认为这个写的还是不错的。就发给大家一起享用。#include #include #include #include us原创 2013-09-21 20:15:19 · 811 阅读 · 0 评论 -
templete_Dinic(最短增广路算法)
Dinic算法的算法是这样的:将整个网络划分成不同的层次,应该可以理解,用BFS且队列维护的方法一次访问的结点,并且标上他们的层次,这样的访问是最小的路径,可以不用来回的访问结点,这样就极大的减小了盲目的搜索,这就成了走最少的结点,也能找出增广路,这样不省时间,怎么样省呢?其他的注意事项我都在代码中写了,大家看看,有需要指点的,请指明共同进步:#include #include #原创 2013-09-18 11:27:20 · 1033 阅读 · 0 评论 -
templete_Edmonds_Karp(BFS求最大流算法)
看图论,网络流也看了两天了,今天心情还不错,还是看懂了这个BFS做的网络流了,昨天想用邻接表写,没有写成功,因为回溯的时候是在是有点麻烦,另外我自己觉得回溯的时候题解给的好想是错误的,反向的边的flow也应该是+,而不是-,因为只有有了反向流量才能够给题目一个反悔的机会,请大家帮忙看看,看有什么不对的不,看看这个模版写的怎么样。明天写一写别的最大流算法,今天非常的满足:#include原创 2013-09-17 22:32:34 · 939 阅读 · 0 评论 -
templete_SPFA()
这个还是要多说点东西。这几天写模版的收获还是很多的,但是由于事比较多,然后自己的心态的问题,所以写的也不怎么好,也没有什么注释什么的。非常的遗憾。现在我要说一说这个比较好的SPFA算法了,这个其实也是比较像优先队列维护的Dijkstra算法的。但是由于dijkstra算法只能用于正权的边,所以也是无法正确算出答案的。但是SPFA就不同了,因为它并没有每次取出最优的解,而是选择遍历结果,这样原创 2013-09-16 17:42:54 · 920 阅读 · 0 评论 -
templete_dijkstra
心里静不下来呀,总是得失心太强,没有将生活当做一种享受,这一段时间我把图论的算法全部搞定,就完成我的任务了,我自己进步了,就是最大的收获!别的希望自己放宽心。#include #include #include #include using namespace std;const int INF = 0x3fffffff;const int MAXN = 100 +原创 2013-09-14 16:18:29 · 915 阅读 · 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 · 793 阅读 · 0 评论 -
templete_calculate tree
大家看看吧,就是一个简单的字符实现四则运算的程序,并且只能是十进制的数字的四则运算,不过用到了图论的一些方法,对于复习图论来说还是不错的一道题目的,而且正好写了个模版。贴出:#include #include #include #include /* *这个问题是我独自想清楚的,其实只要自己动脑筋,其实许多问题都是可以解决的,下一步需要解决的就是大于10位数的 *四则运算原创 2013-09-13 13:07:03 · 940 阅读 · 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 · 824 阅读 · 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 · 1043 阅读 · 0 评论