洛谷P4320 道路相遇

2022-05-24 01:12:11 字數 1343 閱讀 2514

題目大意:基本同上一題[bzoj5329][sdoi2018]戰略遊戲,只是每個點集內只有兩個點,且只有一組詢問而已。(雙倍經驗?我反正就直接改了一下**就交了)

題解:卡點:

c++ code:

#include #include #define maxn 1000010

#define maxm 1000010

int tim, n, m, lca;

inline int min(int a, int b)

inline void swap(int &a, int &b)

struct tree e[maxm << 1];

inline void adde(int a, int b) ; head[a] = cnt;}

inline void add(int a, int b)

int dad[maxn][m], dep[maxn], sz[maxn];

int dfn[maxn], idx;

void dfs(int u = root) }}

inline int lca(int x, int y)

inline int len(int x, int y)

inline void init()

#undef root

#undef fa

#undef m

} t;

struct graph e[maxm << 1];

inline void adde(int a, int b) ; head[a] = cnt;}

inline void add(int a, int b)

int dfn[maxn], low[maxn], idx, cnt;

int s[maxn], top, tmp;

void tarjan(int u = root) while (tmp != v);

}} else low[u] = min(low[u], dfn[v]);}}

inline void init(int n)

#undef root

} g;

#define onlinejudge

#define read() r::read()

#include namespace r

inline int read()

#else

char ch;

inline int read()

#endif

}int main()

洛谷P2296 尋找道路

在有向圖g 中,每條邊的長度均為1 現給定起點和終點,請你在圖中找一條從起點到終點的路徑,該路徑滿足以下條件 1 路徑上的所有點的出邊所指向的點都直接或間接與終點連通。2 在滿足條件1 的情況下使路徑最短。注意 圖g 中可能存在重邊和自環,題目保證終點沒有出邊。請你輸出符合條件的路徑的長度。輸入格式...

洛谷 P2296 尋找道路

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

洛谷 P2296 尋找道路

題目大意 在乙個有向圖中找出2點之間的最短路,並且路徑上的所有點的出邊所指向的點都直接或間接與終點連通。題解 spfa 佇列 dfs 1.從終點方向搜,把終點能到的點標記可到達。2.把終點能到達的點的出邊判斷,如果出邊未被標記則狀態更新為不可到達。3.做spfa,若t i 可以到達就做,不然不做。v...