首页 > 其他分享 >关于spfa

关于spfa

时间:2024-03-05 15:11:52浏览次数:15  
标签:int spfa next flag 关于 fl dis

“正常”求最短路

BFS版本

void spfa(){
     queue<int>q;
     q.push(0);
     fl[0]=1;
     while(q.size()){
           int x=q.front();
	   q.pop();
	   fl[x]=0;
	   for(int i=h[x];i;i=s[i].next){
		   int y=s[i].to;
		   if(dis[y]<dis[x]+s[i].w){
		      dis[y]=dis[x]+s[i].w;
	              q.push(y);
		      fl[y]=1;
	              cnt[y]++;
		      if(cnt[y]>=n){
			 flag=1;
			 return;
		      }
	          }
	   }
     }
}

DFS版本

void spfa(int x){
     fl[x]=1;
     for(int i=h[x];i;i=s[i].next){
	 if(dis[s[i].to]>dis[x]+s[i].w){
	    if(fl[s[i].to]||flag){
	       flag=1;
	       break;
	    }
	    dis[s[i].to]=dis[x]+s[i].w;
	    spfa(s[i].to);
         }
     }
     fl[x]=0;
}

Tips:

spfa求最短路可判断负环,求最长路可判断正环。

标签:int,spfa,next,flag,关于,fl,dis
From: https://www.cnblogs.com/0shadow0/p/18054094

相关文章

  • spfa优化
    1.SLF优化在我们学SPFA的时候,要把每一个入队的点插入到队尾,可是有些时候这个点作为队尾没有作为队头效率高,因为这个点有时放在队首就能直接用,那么什么样的点作为队首更好呢?当然是dis值越小越可能刷新其它\(dis\)值,所以对比当前元素与对首元素的\(dis\)值,如果当前元素的\(dis......
  • Unity引擎关于APP后台下载支持的实现问题
    1)Unity引擎关于APP后台下载支持的实现问题2)Prefab对DLL中脚本的引用丢失3)UnityDOTS资源加载问题4)UnitySendMessage和_MultiplyMatrixArrayWithBase4x4_NEON调用导致崩溃这是第376篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更......
  • 【HMS Core】关于应用内支付密钥升级问题
    ​【问题描述】相信最近大家都收到了关于应用内支付密钥升级的邮件,今天集中解答一下大家比较关心的问题​ 【解决方案】1、如果您的应用已经集成了应用内支付SDK,建议可以按照通知升级一下应用内支付密钥,如果没有集成并使用应用内支付的能力的话,那就不需要进行相关处理,忽略邮......
  • 关于SAP-APP机器-R3trans -d报错-R3trans: /lib64/libstdc++.so.6: version `GLIBCXX_
    在SAP-应用-APP-机器上执行如下命令报错awpxxx03:prdadm270>R3trans-dR3trans:/lib64/libstdc++.so.6:version`GLIBCXX_3.4.26'notfound(requiredbyR3trans) 其实之前,使用过一种方法解决这个问题,可以参考笔者另一篇文章《关于Redhat-Linux中-compat-sap-c++的说......
  • 关于AI智能生成(AIGC),整理一下你该知道这些
    ​ 什么是AIGC生成式人工智能(Artificial Intelligence Generated Content)定义百度百科生成式人工智能AIGC(Artificial Intelligence Generated Content)是人工智能1.0时代进入2.0时代的重要标志。GAN、CLIP、Transformer、Diffusion、预训练模型、多模态技术、生成算......
  • 关于台历程序的逆向编程与改进
    1.来源https://zhuanlan.zhihu.com/p/3963903242.运行环境VSCODEc语言运行结果:3.主要问题:用户不可以自定义显示自己想要查看的年份月份不同国家的用户兼容性缺失代码不够模块化,扩展性不足改进:添加了用户输入功能,用户可以输入特定的年份和月份来显示指定月份的日历。......
  • 关于HashMap遍历的四种方式,以及为什么要用entry
    1.问题如何遍历HashMap,以及其中一种遍历方式中,我们为何需要先转为Map.Entry后,再遍历Map呢?而且是比较推荐的方式?2.解决参考:关于HashMap遍历,为什么要用entryHashMap中推荐使用entrySet方式遍历Map类集合KV而不是keySet方式遍历2.1为何使用Map.Entry阅读《阿里巴巴Java开发手......
  • 关于pb_ds容器和一些STL
    ##STL###set 它可以相对较快的处理元素,并且把它们排序。####1.定义```c#include<set>usingnamespacestd;set<int>s;intmain(){}```关于相关的迭代器```set<int/*类型*/>::iteratorit/*迭代器的名称*/;```####2.相关操作 这里引用旧林墨烟在csdn上博客的一些内容......
  • 关于AUC
    分类阈值->混淆矩阵在做二分类任务时,模型一般会对每个样本输出一个分值s(有时这个分值也表示样本是正例的概率)。在这个分值区间里,设置一个阈值t,就可以把在阈值之上的预测为正例,阈值之下的预测为负例。根据样本真实的标签和预测的结果,可以分为四种情况,统计四种情况的样本个数,就......
  • 关于STM32Fx部分引脚不可以正常输出高低电平的解决办法(不可以正常使用)
    一、概述在一次电路版测试中,发现stm32的部分引脚不可以正常的输出高低电平,刚开始以为是板子没有焊接好所以导致的经过多次的测试,发现电路版没问题。当时就想不清楚了,后面就问学长,还有实验室的学长一起测试。刚开始我们经过测试,认为是SCL的问题,认为在某个地方该引脚被......