NOIP 2014 Day2T2 尋找道路

2021-08-18 20:03:26 字數 649 閱讀 3108

題目中文,不需要我說,直接講思路

題目要求找到一條從起點到終點的路徑,而且保證最短的前提下,每個點的出邊連線的點都要能到達終點,so

第一步,反向建圖,跑一遍bfs,確定能到達終點的所有點

第二步,減掉連著不能到達終點的點的點以及不能到達終點的點,用乙個隨便什麼陣列記錄能用的點就好了

第三步,正常的最短路,只需要加上剛剛判斷的這個點能不能用就好

第四步,沒了,emmm

**#include#include#include#include#include#include#includeusing namespace std;

const int m=500000;

int n,m,s,e;

int jud[m];

int vis[m];

int dis[m];

int ono[m];

vectorv[m];

vectorvv[m];

int dfs(int st)}}

}}

return 0;

}int main()

cin>>s>>e;

dfs(e);

jud[e]=1;

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

for (int k=0;k

NOIP2014 day2 t2 尋找道路

尋找道路 noip2014 day2 t2 描述在有向圖 g 中,每條邊的長度均為 1,現給定起點和終點,請你在圖中找一條從起點到 終點的路徑,該路徑滿足以下條件 1 路徑上的所有點的出邊所指向的點都直接或間接與終點連通。2 在滿足條件 1 的情況下使路徑最短。注意 圖 g 中可能存在重邊和自環,題...

NOIP2014 Day1 T2 聯合權值

noip2014 day1 t2 聯合權值 time limit 10000ms memory limit 131072k total submit 57 accepted 30 case time limit 1000ms description input output sample input...

NOIP 2014 day 1 T2 聯合權值

第一眼看起來很複雜。所以我想了個對鏈 和樹不同情況都分別處理的演算法。orz。複雜度太高最後4組t了。所以。轉換思路。聯合權值 w i w j i,j距離為2.也就是i,j中間間隔了乙個節點,所以我們在遍歷這個中間節點的時候處理。題目求最大和總和,先考慮最大,我們只需要對節點u維護乙個 max1,m...