摘要:
//题目大意:求一棵生成树让最大边最小边差值最小 //题目类型:最小生成树+枚举//解题思路:分析可知生成树一定是最小生成树,利用Kruskal算法枚举所有的最小生成树 #include <iostream>#include <algorithm>//#include <conio.h>using namespace std;#define narray 101... 阅读全文
摘要:
//题目类型;最短路--求次短路的长度 //基本方法从起点s出发求一次最短路,用 d[] 记录最短路径长度,从终点 t 对反向图求一次最短路径,rd[]记录最短距离,//然后枚举每一条边 <u,v>,取 d[u]+ w(u,v)+ rd[v] 最小而又大于最短路径的就是次短路径。#include <iostream>#include <queue>//#incl... 阅读全文
摘要:
//题目类型:拓扑排序//解题思路:利用拓扑排序,如果在一次排序中,所有点的入度均不为0,则判断存在环,即非法。 #include <iostream>//#include <conio.h>using namespace std;#define narray 101int graph[narray][narray];int indegree[narray];int n,m... 阅读全文
摘要:
int graph[narray][narray]; //邻接阵 int indegree[narray]; //记录顶点的入度 int n; //n为顶点个数 memset(graph,0,sizeof(graph));memset(indegree,0,sizeof(indegree));for(i=1;i<=n;++i) //遍历n次每次找出一个顶点 { for(j=1;j<=n... 阅读全文