圖論---Bellman-Ford算法

適用場景:有邊數限制?->(有負環也就沒影響了),存在負權邊,O( n * m );

有負權回路時有的點距離會是負無窮,因此最短路存在的話就說明沒有負權回路。

從1號點經過不超過k條邊到每個點的距離。

若經過n次迭代,有更新的話(經過n+1個點了)就說明存在負環(一般不用其來求,用SPFA來判斷負環)。

只有負環在1號點到n號點的路徑上時,最短路才會不存在,在別的路上不影響。

有負環不會死循環,但是值可能會很小

#include<bits/stdc++.h>
using namespace std;
const int N=510,M=10010;
int n,m,k;
int dist[N],backup[N];
struct edge{int a,b,w;
}edges[N];
int bellman_ford(){memset(dist,0x3f,sizeof dist);dist[1]=0;for(int i=0;i<k;++i){memcpy(backup,dist,sizeof dist);//每次更新時只用上一次更新的結果for(int j=0;j<m;++j){int a=edges[j].a,b=edges[j].b,w=edges[j].w;dist[b]=min(dist[b],backup[a]+w);}}if(dist[n]>0x3f3f3f3f / 2 ) return -1; //除2的原因是可能存在負權邊return dist[n];
}
int main(){scanf("%d%d%d",&n,&m,&k);for(int i=0;i<m;++i){int a,b,w;scanf("%d%d%d",&a,&b,&w);edges[i]={a,b,w};}int t=bellman_ford();if(t==-1) puts("impossible");else printf("%d\n",t);return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903065.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903065.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903065.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

A. Ideal Generator

time limit per test 1 second memory limit per test 256 megabytes We call an array aa, consisting of kk positive integers, palindromic if [a1,a2,…,ak][ak,ak?1,…,a1][a1,a2,…,ak][ak,ak?1,…,a1]. For example, the arrays [1,2,1][1,2,1] and [5,1,1,5][5,…

[詳細無套路]MDI Jade6.5安裝包下載安裝教程

目錄 1. 軟件包獲取 2. 下載安裝 3. 啟動 4. 問題記錄 寫在前面: 垂死病中驚坐起,JAVA博主居然開始更博客了~ 最近忙項目了, 沒啥更新的動力,見諒~見諒~. 這次博主的化工友友突然讓幫安裝JADE6.5軟件,本來以為不就一個軟件,直接拿捏. 不料竟然翻了個小車, 反被拿捏了. 既…

Serverless 在云原生后端的實踐與演化:從函數到平臺的革新

??個人主頁??:慌ZHANG-CSDN博客 ????期待您的關注 ???? 一、引言:從服務器到“無服務器”的后端演變 在傳統后端開發中,我們需要為服務配置并維護服務器資源,無論是物理機、虛擬機還是容器化服務,都需要: 管理系統運行環境 監控負載與擴縮容 保證高可用與安…

【專題三】二分查找(2)

&#x1f4dd;前言說明&#xff1a; 本專欄主要記錄本人的基礎算法學習以及LeetCode刷題記錄&#xff0c;按專題劃分每題主要記錄&#xff1a;&#xff08;1&#xff09;本人解法 本人屎山代碼&#xff1b;&#xff08;2&#xff09;優質解法 優質代碼&#xff1b;&#xff…

MySQL 詳解之函數:數據處理與計算的利器

在 MySQL 中,函數可以接受零個或多個輸入參數,并返回一個值。這些函數可以在 SELECT 語句的字段列表、WHERE 子句、HAVING 子句、ORDER BY 子句以及 UPDATE 和 INSERT 語句中使用。合理利用函數,可以簡化 SQL 語句,提高開發效率。 MySQL 提供了大量的內置函數 (Built-in F…

探索具身智能協作機器人:技術、應用與未來

具身智能協作機器人&#xff1a;概念與特點 具身智能協作機器人&#xff0c;簡單來說&#xff0c;就是將人工智能技術與機器人實體相結合&#xff0c;使其能夠在與人類共享的空間中進行安全、高效協作的智能設備。它打破了傳統機器人只能在預設環境中執行固定任務的局限&#…

基于物聯網的園林防火監測系統

標題:基于物聯網的園林防火監測系統 內容:1.摘要 隨著全球氣候變化和人類活動影響&#xff0c;園林火災發生頻率呈上升趨勢&#xff0c;給生態環境和人類生命財產造成巨大損失。為有效預防和應對園林火災&#xff0c;本文提出基于物聯網的園林防火監測系統。該系統綜合運用傳感…

JAVA多線程(8.0)

目錄 線程池 為什么使用線程池 線程池的使用 工廠類Executors&#xff08;工廠模式&#xff09; submit 實現一個線程池 線程池 為什么使用線程池 在前面我們都是通過new Thread() 來創建線程的&#xff0c;雖然在java中對線程的創建、中斷、銷毀、等值等功能提供了支持…

用go從零構建寫一個RPC(仿gRPC,tRPC)--- 版本1

希望借助手寫這個go的中間件項目&#xff0c;能夠理解go語言的特性以及用go寫中間件的優勢之處&#xff0c;同時也是為了更好的使用和優化公司用到的trpc&#xff0c;并且作者之前也使用過grpc并有一定的興趣&#xff0c;所以打算從0構建一個rpc系統&#xff0c;對于生產環境已…

【學習筆記】Stata

一、Stata簡介 Stata 是一種用于數據分析、數據管理和圖形生成的統計軟件包&#xff0c;廣泛應用于經濟學、社會學、政治科學等社會科學領域。 二、Stata基礎語法 2.1 數據管理 Stata 支持多種數據格式的導入&#xff0c;包括 Excel、CSV、文本文件等。 從 Excel 文件導入…

Redis數據結構SDS,IntSet,Dict

目錄 1.字符串&#xff1a;SDS 1.1.為什么叫做動態字符串 2.IntSet 2.1.inset如何保存大于當前編碼的最大數字&#xff1f; 3.Dict 3.1Dict的擴容 3.2Dict的收縮 3.3.rehash 1.字符串&#xff1a;SDS SDS的底層是C語言編寫的構建的一種簡單動態字符串 簡稱SDS&#xff…

Maven的聚合工程與繼承

目錄 一、為什么需要使用Maven工程 二、聚合工程的結構 三、聚合工程實現步驟 四、父工程統一管理版本 五、編譯打包 大家好&#xff0c;我是jstart千語。想著平時開發項目似乎都是用maven來管理的&#xff0c;并且大多都是聚合工程。而且在maven的聚合工程中&#xff0c…

前端職業發展:如何規劃前端工程師的成長路徑?

前端職業發展:如何規劃前端工程師的成長路徑? 大家好,我是全棧老李。今天咱們聊聊前端工程師的職業發展路徑,這個話題看似簡單,實則暗藏玄機。就像打游戲升級一樣,你得知道下一關是什么,才能提前準備裝備和技能點。 前端之路 一般我們從一個新手到大神,普遍需要經過…

【星海出品】分布式存儲數據庫etcd

etcd 數據庫由 CoreOS 公司創建。 https://github.com/etcd-io/etcd api信息 https://etcd.io/docs/v3.5/dev-guide/api_reference_v3/ etcdctl --help etcd 最初由 CoreOS 公司開發&#xff0c;作為其核心項目之一。 CoreOS 成立于 2013 年&#xff0c;專注于容器化技術&#…

2025新版修復蛇年運勢測試風水起名系統源碼

2025新版修復蛇年運勢測試風水起名系統源碼 通過網盤分享的文件&#xff1a;2025xbfsysweb.rar 鏈接: https://pan.baidu.com/s/1r1MOkJJJMj9s9nQX_GzI3Q 提取碼: 9weh 備用下載地址&#xff1a;http://pan.1234f.com:5212/s/JK1uw

Vue3 Pinia

一、Pinia 核心概念 Pinia 是 Vue3 官方推薦的狀態管理庫&#xff0c;相比 Vuex 4&#xff0c;具有以下優勢&#xff1a; 更簡潔的 API&#xff08;移除 mutations&#xff09; 完整的 TypeScript 支持 支持組合式 API 自動代碼分割 輕量級&#xff08;僅 1KB&#xff09;…

音視頻小白系統入門課-4

本系列筆記為博主學習李超老師課程的課堂筆記&#xff0c;僅供參閱 往期課程筆記傳送門&#xff1a; 音視頻小白系統入門筆記-0音視頻小白系統入門筆記-1音視頻小白系統入門筆記-2音視頻小白系統入門筆記-3 將mp4文件轉換為yuv文件 ffmpeg -i demo.mp4 # 輸入文件-an …

6.2 內容生成與營銷:個性化內容創作與營銷策略優化

隨著消費者對個性化體驗的需求日益增長&#xff0c;傳統的內容創作與營銷方式已難以滿足市場競爭的需要。基于大語言模型&#xff08;LLM&#xff09;與智能代理&#xff08;Agent&#xff09;的技術為企業提供了全新的解決方案&#xff0c;能夠實現高效、精準、規模化的內容生…

kafka課后總結

Kafka是由LinkedIn開發的分布式發布 - 訂閱消息系統&#xff0c;具備高吞吐量、低延遲、可擴展性、持久性、可靠性、容錯性和高并發等特性。其主要角色包括Broker、Topic、Partition、Producer、Consumer、Consumer Group、replica、leader、follower和controller。消息系統中存…

DataStreamAPI實踐原理——計算模型

引入 通過前面我們對于Flink的理解&#xff0c;我們知道它吸收了 Dataflow 的理念&#xff0c;以及此前已有的流處理系統&#xff08;如 S4、Storm、MillWheel&#xff09;的經驗&#xff0c;實現了批流一體化的高效數據處理&#xff0c;并且通過靈活的窗口機制、事件時間與水…