![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Yagami_
这个作者很懒,什么都没留下…
展开
-
并查集
并查集学习:下面附模板代码l 并查集:(union-find sets)一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:实现Kruskar算法求最小生成树。l 并查集的精髓(即它的三种操作,结合实现代码模板进行理解):1、Make_Set(x)原创 2013-04-14 11:48:53 · 538 阅读 · 0 评论 -
最小生成树(Prim算法)
图解#include using namespace std ;const int INF=0x3ffffff;int map[128][128];int used[128];int dis[128];void inti() //初始化{ for(int i=0;i { for(int原创 2013-04-14 15:07:53 · 816 阅读 · 0 评论 -
sort快速排序
#include #include //用sort必须加入的头文件using namespace std ;struct text{int a;int b;};bool cmp1(int a,int b){return a>b;}bool cmp2(char a,char b){return a>b;}bool cmp3(t原创 2013-04-14 15:54:42 · 615 阅读 · 0 评论 -
7种排序
#include#include#include#include#define Max 10000#define char_len 100#define Distance 100int a[Max]={0};int a2[Max]={0};int save[Max];double rt=0.0;//计算排序时间函数 用到了 函数指针, 可原创 2013-04-15 17:19:55 · 681 阅读 · 0 评论 -
拓扑排序
/*拓扑排序: 对事件优先级的排序 */#include#include#define Max 10000using namespace std;vector map[Max];int used[Max];int index[Max];void init(){memset(used,0,sizeof(us原创 2013-04-15 18:01:28 · 583 阅读 · 0 评论 -
单源最短路径(Dijkstra算法)
//Dijkstra代码解释版本#includeusing namespace std;const int maxn=1000+10;const int INF=0x3fffffff; //因为dijkstra会有2个最大值相加的情况,所以用0x7fffffff会溢出int map[maxn][maxn]; int dis[maxn]; //dis[i]表示原创 2013-04-14 12:02:24 · 692 阅读 · 0 评论 -
线段树
//线段树,节点更新,区间求和#include using namespace std;const int MAXN = 50000 + 100; //最大区间struct treeNode{ intleft; //左区间 intright; //右区间 intnum; //区间和}node[MAXN*3]; //节点数原创 2013-04-15 23:18:01 · 620 阅读 · 0 评论 -
HDU 1711 Number Sequence (KMP算法)
#include using namespace std ;int a[1000000+100];int b[10000+100];int nextval[10000+100];void get_nextval(int b[],int nextval[],int m){int i=1,j=0;nextval[1]=0;while(原创 2013-04-17 17:23:30 · 659 阅读 · 0 评论