最近在做藍橋杯的題目
遇到了最短路的問題
因為題目中說存在負環,那麼就不能使用迪傑斯特拉演算法,又因為弗洛伊德演算法效果太低,有部分測試樣例會超時,我採用了vector的優化,但似乎優化的不夠好,也可能是根本不對,有超時的樣例也有執行錯誤的樣例,頭大,學習了spfa演算法
也可能是沒學到精髓,我按我自己的想法寫了**,確實沒有樣例超時,但是資料一大,就會錯誤,我有點蒙,困了好久了,救救孩子吧
**在此,跪求指點!!!
#include typedef struct arcnode
arcnode;
typedef struct vnode
vnode,adjlist[20020];
typedef struct
algraph;
using namespace std;
int main()
int u,v,l;
for(int i=0;i>u>>v>>l;
arcnode *p=new arcnode;
p->adjvex=v;
p->weigh=l;
p->nextarc=g.vertices[u].firstarc;
g.vertices[u].firstarc=p;
}/*for(int i=1;i<=n;i++)
coutq.push(g.vertices[1].data);
visit[1]=1;
int temp;
while(!q.empty())
p=p->nextarc;}}
for(int i=2;i<=n;i++)
}
求助帖 關於psd檔案的
psd檔案是ps軟體匯出的一種檔案儲存格式,最近我看了關於psd檔案儲存的資訊,有一點疑問,不知道psd檔案中的組 資料夾,就是在圖層介面所看到的資料夾 具體在psd檔案中是儲存 一 file header 標頭檔案 二 color resources 色彩模式資料 三 image resource...
關於最短路
把最近做的幾道最短路一起總結一下吧 poj1062 中文題,不解釋題意,對於渣渣來說,是先看別人題解後才做的,以酋長的允諾作為目標點,每乙個物品與替換物之間會有一條邊,由於交換有限制,所以建完圖後,以每乙個點為終點或是說最高點,先遍歷一次,把不能交換或間接交換的點去掉,然後再進行最短路尋找。實際就是...
關於最短路
模板 void dij p.push make pair d 1 1 while p.empty 為啥想到用最小堆?因為每次都是找與源點最近的,vis為0的點,想到了用優先佇列找的快一點細節 d陣列用pair形式表示,pair的first是距離,second是點的下標。pair跟結構體差不多,如果用...