F Wormholes spfa判斷負環

2021-09-27 18:38:04 字數 929 閱讀 9477

傳送門

題意:艾高比較差qaq。意思是農夫發現了蟲洞,他發現從乙個點到另乙個點會花費一些時間,存在一些點到點可以到退時間。問farm是否可以通過乙個迴路回到過去。就是問是否存在一條負權的邊。

思路:spfa判斷負環模板即可,要注意,有些蟲洞是可以來回的,所以一條邊要新增兩次(題目中給出,是雙向路徑)。

(既然有負邊權為什麼還會存在no呢,因為可能出現0邊權,這樣一來,負邊權就不會無限更新了)。

#include

#include

#include

#include

#define mem(a,b) memset(a,b,sizeof(a))

using

namespace std;

const

int maxn =

100100

, inf =

0xfffffff

;int head[maxn]

, vis[maxn]

, d[maxn]

;int n, m;

int in[maxn]

;struct node node[maxn]

;void

add(

int u,

int v,

int d,

int i)

bool

spfa

(int s)}}

}return0;

}int

main()

while

(x--)if

(spfa(1

))cout <<

"yes"

<< endl;

else cout <<

"no"

<< endl;

}return0;

}

單鏈表判環判交問題

摘要 有乙個單鏈表,其中可能有乙個環,也就是某個節點的next指向的是鍊錶中在它之前的節點,這樣在鍊錶的尾部形成一環。1 如何判斷乙個鍊錶是不是這類鍊錶?2 如果鍊錶為存在環,如果找到環的入口點?擴充套件 判斷兩個單鏈表是否相交,如果相交,給出相交的第乙個點。有乙個單鏈表,其中可能有乙個環,也就是某...

環形佇列如何判空和判滿

環形佇列的判空和判滿是乙個比較基礎的問題,可以通過以下兩種方法來實現,定義環形佇列抽象類 define max size 1024 class circularqueue circularqueue circularqueue int size this data new int size this...

前端js判空處理,js字串判空,js陣列判空

在js中,字串為空會有這麼幾種形式,null,undefined,如果在已知變數為空串的情況下可以直接採用if string.length 0 這種形式,今天總結一下常用的幾種方法,方便下次查閱。1.1 typeof null 推薦?相容null undefined function isempty...