题目 3003

最短Hamilton路径

查看题解 ↗GitHub ↗如何评测
题号
3003
时间限制
1000 ms
内存限制
128 MB
标签
动态规划贪心位运算状态压缩

题目描述

给定一张 nn 个点的带权无向图,点从 0∼n−10 \sim n-1 标号,求起点 00 到终点 n−1n-1 的最短 Hamilton 路径。

Hamilton 路径的定义是从 00 到 n−1n-1 不重不漏地经过每个点恰好一次。

输入格式

第一行输入整数 nn。

接下来 nn 行每行 nn 个整数,其中第 ii 行第 jj 个整数表示点 ii 到 jj 的距离(记为 a[i,j]a[i,j])。

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

输出格式

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

数据范围

1≤n≤201 \le n \le 20
0≤a[i,j]≤1070 \le a[i,j] \le 10^7

输入样例:

文本
5
0 2 4 5 1
2 0 6 5 3
4 6 0 8 3
5 5 8 0 5
1 3 3 5 0

输出样例:

文本
18

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解

数据下载

题目 3003 的公开数据

正在读取文件列表…

常用命令

题目 3003 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。