題目大意:
乙個圖,從乙個點到另個點,權值會乘乙個數,問是否存在正權環。
然後發現乙個問題,用bellman-ford的時候,判斷是否存在負權迴路只需要列舉一次所有的邊,看是否還能鬆弛就可以了!
#include
#include
#include
#include
#define n 1000
using namespace std;
struct bian
a[n*n]=;
int n,m;
char name[n][n]=;
double dis[n]=;
int flag=0;
int is_same(char *x,char *y)
} void my_bellman_ford()//以1號點為虛擬源點,判斷是否存在"正權迴路"(大於1) { dis[1]=1; for(int i=1;i
>n) { flag=0; cas++; if(n==0)break; input(); /*for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout<
<<" "; cout<
至此,做完了最短路的相關練習,但是有時間要再學一下鄰接表儲存邊和bellman-ford的佇列優化方法。
HDOJ 1217 Arbitrage 解題報告
求最短路的題,與普通最短路不同的地方是運算是用乘法而不是加法。題意 套匯是指利用不同外匯市場 的外匯差價,在某一外匯市場上買進某種貨幣 同時在另一外匯市場上賣出該種貨幣,以賺取利潤 這種利潤稱之為套利。比如1美元可以買0.5英鎊,而1英鎊可以買10法郎,2法郎可以買1美元,那麼可用通過套匯使用1美元...
poj 1033 Defragment 解題報告
距離從1000處子題,已經過了好些日子了,終於突破20題了,但是還沒有進入前1w 中國的人真多啊 一直在做動態規劃的題,實在是被動態規劃的強大折服。最近開始找些搜尋的題來做,剪那個sticks,一直剪不過tle,於是決定換道題,看網上的推薦說這是一道搜尋題,於是開始切!題意 磁碟整理,按照從第乙個檔...
poj1007 DNA Sorting解題報告
題目要求的是一條dna序列的逆序數,求逆序數可以考慮使用歸併演算法來進行求解。我們來設想這樣乙個場景 相鄰的a b兩塊進行公升序排序,各自都已經是排好序的了,且b排在a右邊。那麼當把b中的某數t放到已排序的數列中,那麼a序列中剩下的數就是比數t要大的,但我們要注意到 在原序列中,由於b序列在a序列右...