
最短路径_最小生成树
巴黎没有欧莱雅你也不值得被拥有
发现自己近来好懒,好久没沉淀芝士了
展开
-
poj3255Roadblocks_次短路径
题目链接题意:某街区共有R条道路,N个路。道路可以双向通行。问1号路口到N号路口的次短路长度是多少?次短路指的比最短路路长度长的次短的路径。同一条边可能经过多次。思路是竟然是次短路,那么就是和最短相差了一条边(这条边是大于最短路径的最小值)多想下,所以一定是经过某一节点的(u,v)的边e(u,v);所以用到了源点到各个点的dis和终点到各个点的dis2;#include#原创 2017-05-03 09:07:24 · 611 阅读 · 0 评论 -
NYOJ38布线问题_最小生成树
好久没做最小生成题了,只记得算法。。。快比赛了突然在这又出了问题prim算法要用邻接矩阵适用于顶点少的题,做题习惯直接把这种用矩阵的先给排除了,直接用vector,结构体,导致一道题会用时很久做题可不能像我这样,看到题要知道用什么算法,还要去想下需要用哪种数据结构(当算法比较多的时候,我们就要考虑题中的数据,根据题中给的数据大小选择数据结构,继而在选择这个算法的哪种)‘因为顶点不多,就原创 2017-05-04 09:59:50 · 429 阅读 · 0 评论 -
最小生成树_prim(加点)
prim算法是加点的,可以将加入的点和未加入的点分成两部分,及生成树和非生成树,每次从生成树顶点到非生成树顶点的最小权值,每次去更新到某个顶点的最小dis[]值。#includeint main(){ int n,m,i,j,k,min,t1,t2,t3; int e[7][7],dis[7],book[7]={0}; int inf=9999999; int count原创 2017-04-14 09:20:45 · 606 阅读 · 0 评论 -
最小生成树_krustra_通俗易懂()
/*6 92 4 113 5 134 6 35 6 42 3 64 5 71 2 13 4 91 3 219*/*/#includestruct edge{ int u; int v; int w;} e[10];int n,m;int f[7]={0},sum=0,count=0;void quicksort(int left,int原创 2017-04-14 09:11:33 · 958 阅读 · 1 评论 -
最小生成树(Prim算法)加标记前驱的第二种方法
/*Input:6 10 1 2 6 1 3 1 1 4 5 2 3 5 2 5 3 3 4 5 3 5 6 3 6 4 4 6 2 5 6 6 Output:V1-V3=1 V3-V6=4 V6-V4=2 V3-V2=5 V2-V5=3 最小权值和=15 */#include<stdio.h>#include<string.h>#define INF 0x3f原创 2017-03-09 19:38:12 · 305 阅读 · 0 评论 -
最小生成树(Prim算法)
/* 1 02 31 2 372 1 171 2 683 71 2 192 3 113 1 71 3 52 3 893 1 911 2 325 71 2 52 3 72 4 84 5 113 5 101 5 64 2 120Sample Output0171626*/ #include<stdio.h> #include<string.h>原创 2017-03-08 19:58:09 · 334 阅读 · 0 评论 -
最短路径(Dijkstra算法)也就是单源点问题!
/*Sample Input 5 5 1 2 20 2 3 30 3 4 20 4 5 20 1 5 100Sample Output 90 */#include<stdio.h>#include<string.h>#define N 1005#define INF 0x3f3f3fbool s[N];int d[N];int原创 2017-03-08 10:23:50 · 451 阅读 · 0 评论 -
最小生成树(Kruskal算法)模板
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;#define MAX 100int u[MAX];//边起始点int v[MAX];//边终点int w[MAX];//边权值int p[MAX];//并查集int r[MAX];//保存的边的序号int n,m;//n是结点数,m是原创 2017-03-08 09:21:13 · 738 阅读 · 0 评论 -
poj3026Borg Maze_最小生成树(广搜+prim算法)
题目链接!题很简单,就是求最小生成树的,难点就在于将图转化成边(带权值),就是这一块不好转化。我想到了用广搜去找每个顶点到其他顶点的距离,但是在代码实现上有些困难,参考了别人的代码后就恍然大悟了,觉得在prim算法上会很简单,但是同样也遇到了问题,就是在dis[]初始值时候,不知道初始谁了。总认为要先将S(开始搜索的地方)加入第一个dis值中,这样的一个错误的想法就卡住了。看来还是原创 2017-04-18 09:22:32 · 379 阅读 · 0 评论 -
NYOJ115城市平乱_单源点最短路径(spfa)
题目链接第一次敲的时候我用的是vector,看题的时候心里还在想着要判重边,把代码都敲完后发现了问题,用vector没办法判断重边啊~又把数据结构赶紧改成了邻接矩阵,同时也发现了自己容易犯的错误!学了新东西就只用新的,不善于思考两者的优劣势,(工欲善其事必先利其器)这句话自己没做到!!真是大忌啊!!!还有一点就是今天学会了怎么去计算是否超内存了!这一点对于我做题时候选择数据结构时非常有用原创 2017-05-04 16:44:20 · 451 阅读 · 0 评论