把我坑到死的題
開始開題以為是全圖連通是的最小值 ,以為是最小生成樹,然後敲了發現不是,看了下別人的題意,然後懂了;
然後發現資料大,要用鄰接表就去學了一下鄰接表,然後又去學了下優先佇列優化的dij;
這坑爹的題目我交了10幾遍,也不知道錯在**;後來知道了maxint要#define maxint 10000000000;
然後long int 是過不了的,改成long long才能過 ,真是呵呵啊;
1 #include2 #include3 #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...