首页 > 编程语言 >fload算法的一个小细节

fload算法的一个小细节

时间:2023-06-16 18:12:12浏览次数:28  
标签:一个点 int 细节 更新 算法 fload

今天在写题目的时,对的思路但是一直卡了一个点,后来经过查找原来是fload算法忽略的一个小细节,以前从来还没有注意到这个小细节,现在把这个细节记录下来

这是原本的代码

	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			for(int  k=1;k<=n;k++){
				if(i==j) continue;
				dis[i][j]=min(dis[i][k]+dis[k][j],dis[i][j]);
			}
		}
	}

这是正确的代码

for(int  k=1;k<=n;k++){
	        for(int i=1;i<=n;i++){
		        for(int j=1;j<=n;j++){
				   if(i==j) continue;
				   dis[i][j]=min(dis[i][k]+dis[k][j],dis[i][j]);
		}
	}		
}

关于k为什么不能写在里面,fload算法是求得任意两点之间的最小距离

如果把k写里面了,表示i到j就只更新一次,即i到j经过所有k后的最小值,然后i到j就不会更新了

 因此fload的思路是对于通过某一个点去更新,即求出所有i,j经过k点后的最短路径,每次都会把所有i,j更新一遍,会更新n次

标签:一个点,int,细节,更新,算法,fload
From: https://www.cnblogs.com/liyiyang/p/17486227.html

相关文章

  • 代码随想录算法训练营第九天| 232.用栈实现队列 225. 用队列实现栈
    232.用栈实现队列注意:1,构造函数不需要2,需要有两个成员变量inout代码:1classMyQueue{2public:3stack<int>in;4stack<int>out;5MyQueue(){67}89voidpush(intx){10in.push(x);11}1213intpop(){1......
  • 粮油质量追溯系统源码,基于物联网技术、RFID技术和RSA、PGP加密算法开发的粮油质量追溯
    基于物联网技术、RFID技术和RSA、PGP加密算法开发的粮油质量追溯系统粮油安全关系千千万万消费者的健康问题。近年来,许多食品行业安全事故频频涌现,成为社会关注焦点。粮油生产加工质量管控防伪溯源系统为粮油企业提供从生产、加工、销售等各环节的完整记录,切实消除粮油安全隐患,降低......
  • 算法练习-day9
    栈和队列232.用栈实现队列题意:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty)实现MyQueue类:voidpush(intx):将元素x推到队列的末尾intpop():从队列的开头移除并返回元素intpeek():返回队列开头的元素booleanempty():如果......
  • 深度学习实践篇[17]:模型压缩技术、模型蒸馏算法:Patient-KD、DistilBERT、DynaBERT、Ti
    深度学习实践篇[17]:模型压缩技术、模型蒸馏算法:Patient-KD、DistilBERT、DynaBERT、TinyBERT1.模型压缩概述1.2模型压缩原有理论上来说,深度神经网络模型越深,非线性程度也就越大,相应的对现实问题的表达能力越强,但相应的代价是,训练成本和模型大小的增加。同时,在部署时,大模型预测......
  • k均值聚类算法_异常数据检测
    k均值聚类_异常检测先来张图,快速理解正常数据应该分布在两个簇中异常数据,距离两个簇都很远fromsklearn.clusterimportKMeansfromscipy.spatial.distanceimportcdistimportnumpyasnpimportmatplotlib.pyplotaspltif__name__=='__main__':#正常......
  • 代码随想录算法训练营第八天| 28. 实现 strStr() 459.重复的子字符串
    28.实现strStr()  难点:1,制作KMP算法2,next数组要求的是,找到的下标:0/s[i]==s[j]才可以跳出来代码:1vector<int>getNextList(stringneedle)2{3vector<int>next(needle.size());4intj=0;5next[0]=0;67for(inti=1;i......
  • 学不会的高精度算法
    前言在洛谷水题的时候发现本蒟蒻是连高精度都不会的蒟蒻中的蒟蒻,所以想要浅浅学习一下什么是高精度算法高精度算法(HighAccuracyAlgorithm)是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我......
  • 算法——树(二)
    1、路径总和给你二叉树的根节点 root和一个表示目标和的整数 targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 targetSum。如果存在,返回true;否则,返回false。1classSolution{2booleanhaspath=false;3p......
  • 【学习笔记】Primal-Dual 原始对偶算法
    Johnson全源最短路算法Floyd可以\(O(n^3)\)处理全源最短路,Bellman-Ford单源最短路的复杂度是\(O(nm)\)的,Dijkstra可以做到\(O(m\logm)\)但不能处理负边权,所以Johnson全源最短路算法通过处理使得可以用\(n\)次Dijkstra解决有负权图的全源最短路。先建超级源点,向......
  • 算法练习-day8
    字符串28.找出字符串中第一个匹配项的下标题意:给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例:    思路:本题有两种思路:1.暴力求解法,只需要一次遍历,以i为haystack字......