poj3013 鄰接表 優先佇列 Dij

2022-03-11 07:16:06 字數 1255 閱讀 5546

把我坑到死的題

開始開題以為是全圖連通是的最小值 ,以為是最小生成樹,然後敲了發現不是,看了下別人的題意,然後懂了;

然後發現資料大,要用鄰接表就去學了一下鄰接表,然後又去學了下優先佇列優化的dij;

這坑爹的題目我交了10幾遍,也不知道錯在**;後來知道了maxint要#define maxint 10000000000;

然後long int 是過不了的,改成long long才能過 ,真是呵呵啊;

1 #include2 #include

3 #include4

using

namespace

std;

5#define maxint 1000000000067

struct

node

8edge[200005

];13

14long

long n,m,index,nodeval[53003],dis[53003],vis[53003

];15

16long

long pre[53003];//

開始的頂點

1718

void add(long

long x,long

long y,long

long

z)19

3132

struct

node

3339

};40

41void dij(int

s)42

49 dis[1]=0;50

node cur;

51 cur.point=1

;52 cur.dist=0;53

q.push(cur);

54while(!q.empty())

5572}73

}74}75

76int

main()

7796 dij(1

);97

long

long ans=0,flag=0;98

for(i=1;i<=n;i++)

99104 ans+=(dis[i]*nodeval[i]);

105}

106if(flag)printf("

no answer\n");

107else printf("

%lld\n

",ans);

108}

109 }

poj 3013 陣列模擬鄰接表 spfa

首先,自已先用陣列模擬鄰接鍊錶,以前使用模版的,現在可以不看模版自己寫了。邊的資訊 struct edge edge max 3 1 一定要邊的範圍 int head max 頭節點 void init 初始化資訊,1 插入邊void insert int u,int v,int64 len 遍歷 ...

Dijkstra 優先佇列 鄰接表優化

為了學習這個優化啊,把dijkstra,和優先佇列,還有map,還有pair,還有vector,之前很散的知識又重現看了一遍 然後讀了好久的dalao下面這個 現在算是懂了一些些了。include include include include include include include inc...

Dijkstra 模板 鄰接表 優先佇列

時間複雜度 o n m logm include include include using namespace std define mp make pair const int n 100010,m 200010 const int inf 0x7fffffff int fr n nex n d...