随笔分类 - 算法-图论算法
摘要:题目链接:hdu 1348 Wall Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Description Once upon a time there was a g
阅读全文
摘要:一.概念: 一.概念: 凸包(Convex Hull)是一个计算几何(图形学)中的概念。 在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。 X的凸包可以用X内所有点(X1,...Xn)的线性组合来构造. 在二维欧几里得空间中,凸包可想象为一条刚好包著所有点的橡皮圈。
阅读全文
摘要:#include #include using namespace std; const int MAXV = 1000; const int INF = 0xFFFFFFF; struct edge{ int u,v,cost; }E[MAXV]; bool cmp(edge a,edge b){ return a.cost < b.cost; } int father[MAXV]; ...
阅读全文
摘要:/* Prim(G,d[]) { 初始化; for(执行n次) { u=使得d[u]最小且还没有访问的定点的编号; 记录对u的访问; for(从u出发能够到达的所有顶点v) { if(v没有访问 && 以u为中介点使得v和集合s的最短距离d[v]更优) { ...
阅读全文
摘要:/* 枚举顶点k范围[1,n] 以k为中介点,枚举所有定点对i和j.i和j的范围[1,n] if(dis[i][k]+dis[k][j] #include using namespace std; const int INF = 0xFFFFFFF; const int MAXV = 200; int n,m; int dis[MAXV][MAXV]; void Flo...
阅读全文
摘要://大致的思路如下: queueq; 源点 s 入队; while(!q.empty()) { 取出队首元素u; for(u的所有邻接边u->v) { if(d[u]+disAdj[MAXV]; int n,d[MAXV],num[MAXV]; bool vis[MAXV]; bool SPFA(int s) { memset(vis,0,siz...
阅读全文
摘要:大致的算法: 实例:一般正常的没有源点可达的负环 因此判断负环的过程可以省略。
阅读全文
摘要:测试数据: 输出路径的函数使用如下更加方便: Dijkstra算法在有两条或者两条以上的最短路径可以到达同一个地方的时候,一般会给出第二个标尺。 1.边的权值 2.点的权值 3.最短的路径的个数 举例子: 给出N个城市,M条无向边。每个城市都有一定的救援小组,所有边的权值已知(此处的边权不是路径长度
阅读全文

浙公网安备 33010602011771号