首页 > 编程语言 > hamilton路径-图论算法模板

hamilton路径-图论算法模板

时间:2023-02-13 16:32:43浏览次数:48  
标签:图论 终点 哈密顿 int 路径 给定 hamilton 模板

什么是哈密尔顿路径

哈密顿图(哈密尔顿图)(英语:Hamiltonian graph,或Traceable

graph)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次。在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Hamiltonian

cycle),含有图中所有顶点的路径称作哈密顿路径(Hamiltonian path)。


天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中,寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。

这个问题和著名的七桥问题的不同之处在于,过桥只需要确定起点,而不用确定终点。哈密顿问题寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。


实现:

// hamilton路径
int f[1 << 20][20];
int hamilton(int n, int weight[20][20]) {
memset(f, 0x3f, sizeof(f));
f[1][0] = 0;
for (int i = 1; i < 1 << n; i++)
for (int j = 0; j < n; j++)
if (i >> j & 1)
for (int k = 0; k < n; k++)
if (i >> k & 1)
f[i][j] = min(f[i][j], f[i ^ 1 << j][k] + weight[k][j]);
return f[(1 << n) - 1][n - 1];
}

标签:图论,终点,哈密顿,int,路径,给定,hamilton,模板
From: https://blog.51cto.com/u_14682436/6054496

相关文章

  • 04 模板层
    模板层语法变量相关的用{{}},逻辑相关的用{%%}。注释:后端给模板传值及模板展示方式1:通过字典的键值对,指名道姓的一个个的传returnrender(request,'reg.html',{'n':n,......
  • 第三章 图论与搜索三
    最小生成树最小生成树:由n个节点,和n-1条边构成的无向连通图被称为G的一颗生成树,在G的所有生成树中,边的权值之和最小的生成树,被称为G的最小生成树。(换句话说就是用最小的代......
  • 第三章 图论与搜索二
    最短路问题常见的最短路问题可以分成两大类单源最短路多源汇最短路在最短路问题中,源点 也就是 起点,汇点 也就是 终点单源最短路单源最短路,指的是求一个点,到其......
  • 第三章 图论与搜索一
    普通DFS与BFS概述DFS:深度优先搜索(Depth-First-Search)BFS:宽度优先搜索(Breadth-First-Search)DFS和BFS的对比DFS使用栈(stack)来实现,BFS使用队列(queue)来实现DFS所需要......
  • .Net Core 操作PDF模板
    1.安装PdfSharpCore   2.PdfSharpCore.Pdf.PdfDocumentdoc=PdfSharpCore.Pdf.IO.PdfReader.Open(temppath,PdfDocumentOpenMode.Modify);//创建一个文档实例,t......
  • 【数据结构与算法】图论算法(C++实现)
    一些基本概念图一个图\(G=(V,E)\)由顶点集V和边集E组成。每一条边就是一副顶点对\((u,v)\),其中\(u,v\inV\)。顶点u和顶点v邻接当且仅当\((u,v)\inE\)......
  • 推导部分和(图论)
     #include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintmaxn=1e5+10;intn,m,q;structedge{intv;llw;edge(){}......
  • 「矩阵求逆」P4783 【模板】矩阵求逆
    知识点:线性代数Link:Luogu大家好啊,我不会线代,下学期才开,所以这题抄的,只是简单记录做法,等到学了线代再回来更深一步理解。但是这做法又易懂又好记又牛逼。主要抄袭对象:ht......
  • 图论算法讲义(一)$\Rightarrow$ DFS
    1.在图上$dfs$从本质上来说在图上$dfs$和直接使用搜索其实本质是一样的$DFS$中文名是深度优先搜索,是一种用于遍历或搜索树或图的算法。所谓深度优先,就是说每次都尝试向......
  • 「二元一次不定方程(exgcd)」P5656 【模板】二元一次不定方程 (exgcd)
    知识点:exgcdLink:Luogu为什么之前没写?因为这题出的挺晚,出的时候都忘了嘻嘻主要抄袭对象:https://www.luogu.com.cn/blog/McHf/p5656-exgcd。简述\(T\)组数据,每组数据......