codevs 1269 匈牙利遊戲

2021-07-23 12:25:30 字數 946 閱讀 2357

qaq

求次短路分三種情況討論

1、最短能更新最短

2、次短能更新次短

3、最短能更新次短並且次短不能更新最短

什麼叫不能更新最短了呢

就是更新完了和最短一樣長的

恩恩 就是這樣

#include 

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 100000 + 5;

struct edge

l[maxn << 1];

int first[maxn],next[maxn],tot;

void init()

void build(int f,int t,int v)

; next[tot] = first[f];

first[f] = tot;

return;

}int dis[maxn][2];

bool use[maxn];

queue

q;void spfa(int s)

else

if(dis[u][0] + val < dis[v][1] && dis[u][0] + val > dis[v][0])

else

if(dis[v][1] > dis[u][1] + val)}}

return;

}int n,m;

int f,t,v;

int main()

spfa(1);

printf("%d\n",dis[n][1] > 1000000000 ? -1 : dis[n][1]);

return

0;}

codevs 1269 匈牙利遊戲

codevs 1269 匈牙利遊戲 題目大意 求次短路 資料範圍 2 n 20000,1 m 100000,1 l 10000 思路 spfa的時候在更新最短路的時候順便更新一下次短路就好了。題解 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,...