博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
0103 最短Hamilton路径【状压DP】
阅读量:7096 次
发布时间:2019-06-28

本文共 889 字,大约阅读时间需要 2 分钟。

0103 最短Hamilton路径 0x00「基本算法」例题

描述
给定一张 n(n≤20) 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。

输入格式

第一行一个整数n。

接下来n行每行n个整数,其中第i行第j个整数表示点i到j的距离(一个不超过10^7的正整数,记为a[i,j])。

对于任意的x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x,y]+a[y,z]>=a[x,z]。

输出格式

一个整数,表示最短Hamilton路径的长度。

样例输入

4
0 2 1 3
2 0 2 1
1 2 0 1
3 1 1 0
样例输出
4
样例解释
从0到3的Hamilton路径有两条,0-1-2-3和0-2-1-3。前者的长度为2+2+1=5,后者的长度为1+2+1=4

#include 
using namespace std;const int MAXN = 1e5+5;const int INF = 0x3f3f3f3f;#define ll long longint f[1<<20][25];int w[25][25];int n;int main(){ cin>>n; for(int i=0;i
>w[i][j]; memset(f,0x3f,sizeof(f)); f[1][0]=0; for(int i=1;i<(1<
>j)&1) { for(int k=0;k
>k)&1) f[i][j]=min(f[i][j],f[i^(1<

转载于:https://www.cnblogs.com/Roni-i/p/9251993.html

你可能感兴趣的文章
iOS: 偏好设置的详解和使用
查看>>
操作系统基础知识
查看>>
严谨的程序案例Api
查看>>
Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)
查看>>
Servlet和JSP比较
查看>>
A.3.2-创建简单的类(人类),包含的概念(字段,构造,封装字段,创建方法,创建对象,赋值,调用方法)...
查看>>
WP7 应用数据存储IsolatedStorage 篇
查看>>
解决 ASP.NET Core MySql varchar 字符串截取(长度 255)
查看>>
Design Pattern: Abstract Factory 模式
查看>>
Android的动画效果浅解析
查看>>
PHP中的use、命名空间的理解
查看>>
内核驱动调试方法
查看>>
对struts一点理解总结
查看>>
主机宝IIS版ISAPIRewrite伪静态软件操作演示
查看>>
如何停止CSS3的动画?
查看>>
SetWindowLong
查看>>
获得项目的绝对地址 getRequestURI,getRequestURL的区别
查看>>
PowerShell实现基于SharePoint的网站HomePage Auto-Upgrade Solution
查看>>
[LintCode] Delete Node in the Middle of Singly Linked List 在单链表的中间删除节点
查看>>
WPF界面设计技巧(5)—自定义列表项呈现内容
查看>>