IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 牛客 最短Hamilton路径 题解 (位运算/最短路径) -> 正文阅读

[数据结构与算法]牛客 最短Hamilton路径 题解 (位运算/最短路径)

原题链接:https://ac.nowcoder.com/acm/contest/996/D
解题思路:f[][]数组的第一维用二进制表示n,这个二进制数的长度是n,当他是1时,代表这个点被遍历过,可以用来更新最短距离,第二维表示当前遍历到第几个点,

#include<iostream>
#include<cstring>

using namespace std;

int f[1<<20][21], w[21][21];
int n;

int main()
{
	scanf("%d", &n);
	memset(f, 0x3f, sizeof(f));
	for(int i = 0; i < n; i ++ ){
		for(int j = 0; j < n; j ++ ){
			scanf("%d", &w[i][j]);
		}
	}
	f[1][0] = 0;//第一个点不需要任何费用 
	for(int i = 0; i < (1 << n); i ++ ){//遍历情况,i的0/1代表这个点是否已经过 
		for(int j = 0; j < n; j ++ ){//j代表当前所便利的点 
			if(i >> j & 1){//如如果i集合中第j位是1,也就是到达过这个点
				for(int k = 0; k < n; k ++ ){//遍历所有点到j的距离 
					if(i ^ (1 << j) >> k & 1){//从当前方案中删去j
						f[i][j] = min(f[i][j], f[i ^ (1 << j)][k] + w[k][j]);//比较当前状态的最小值和上一状态的最小值 
					}
				}
			}
		}
	}
	printf("%d", f[(1 << n) - 1][n - 1]);//表示此时在n-1点上,经历了n-1及之前所有的点的最小路径值
	return 0;
}
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 12:21:37  更:2021-08-26 12:23:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:13:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码