codevs 1269 匈牙利遊戲

2021-07-23 15:30:47 字數 828 閱讀 1480

codevs 1269 匈牙利遊戲

題目大意:求次短路

資料範圍:2≤n≤20000,1≤m≤100000,1≤l≤10000

思路:spfa的時候在更新最短路的時候順便更新一下次短路就好了。

題解:

#include

#include

#include

#include

using

namespace

std;

const

int maxn=1000000;

int n,m;

struct cces[maxn];

int first[maxn],next[maxn];

bool vis[maxn];

int tot=0;

void build(int ff,int tt,int pp)

; next[tot]=first[ff];

first[ff]=tot;

}int dis1[maxn],dis2[maxn];

queue

q;void spfa(int s)

}else

if(dis1[v]//不能更新最短路但能更新次短路 }}

else

if(dis2[v]>dis2[u]+es[i].cost)//通過次短路更新次短路

} }}

}int main()

spfa(1);

if(dis2[n]>1000000000)

else

return

0;}

codevs 1269 匈牙利遊戲

qaq 求次短路分三種情況討論 1 最短能更新最短 2 次短能更新次短 3 最短能更新次短並且次短不能更新最短 什麼叫不能更新最短了呢 就是更新完了和最短一樣長的 恩恩 就是這樣 include include include include include using namespace std ...

CodeVS 1269 匈牙利遊戲

題目描述 description 歡迎來到匈牙利遊戲!布達佩斯 匈牙利首都 的街道形成了乙個彎曲的單向網路。你被強制要求參加乙個賽跑作為乙個tv秀的一部分節目,比賽中你需要穿越這些街道,從s開始,到t結束。很自然的,你想要盡快的完成比賽,因為你的比賽完成的越好,你就能得到更多的商業 合同。但是,有乙...

codevs 1269 匈牙利遊戲

暴力 亂搞 55分 似乎只有暴力得分了 include include include include include define maxn 1000010 using namespace std intn,m,num,head maxn dfn maxn low maxn s maxn top,...