題解:本題主要考查最短路+搜尋
簡要題意:乙個有向圖邊都為1,給定起點和終點,找一條從起點到終點的最短路徑。
1.搜尋:本題會有不與終點相連的點,就要刪除它們,以及與他們連一條邊的點,就在圖上遍歷標記。(注意:不能直接消去第一次打上的標記,第二次刪除標記時是可能有後效性的)
2.最短路:跳過沒有標記的點跑一邊最短路即可
**如下:
#include#include#include#includeusing namespace std;
struct e
e[389574];
int d[389574],h[982341];
bool v[346237],flag[923245];
int n,m,p,x,y,a,b,p=0;
void add(int start,int to)
void spfa(int p)
}} }
}void bfs(int p)
} }}int main()
cin>>a>>b;
bfs(b);
for(int i=1;i<=n;i++)v[i]=flag[i];
for(int i=1;i<=n;i++) }
spfa(b);
if(d[a]<=999999)cout
}
NOIP2014 尋找道路
題目描述 在有向圖g中,每條邊的長度均為1,現給定起點和終點,請你在圖中找一條從起點到終點的路徑,該路徑滿足以下條件 1 路徑上的所有點的出邊所指向的點都直接或間接與終點連通。2 在滿足條件1的情況下使路徑最短。注意 圖g中可能存在重邊和自環,題目保證終點沒有出邊。請你輸出符合條件的路徑的長度。輸入...
noip2014 尋找道路
題目提供者該使用者不存在 標籤圖論2014noip提高組 難度普及 提高 提交該題 討論 題解記錄 在有向圖g 中,每條邊的長度均為1 現給定起點和終點,請你在圖中找一條從起點到終點的路徑,該路徑滿足以下條件 1 路徑上的所有點的出邊所指向的點都直接或間接與終點連通。2 在滿足條件1 的情況下使路徑...
NOIP2014 尋找道路
傳送門 這道題還是比較簡單的。我們只要先用老套路建出反圖,記錄終點與哪些點是聯通的,之後從所有不與終點聯通的點出發,在反圖上列舉一下與之直接相連的邊,也設為不能走。之後我們在可以走的路上跑最短路即可。看一下 include include include include include includ...