傳送門
題意:艾高比較差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...