DFS Order
의견: 0
Bessie has a simple undirected graph with vertices labeled \(1\dots N\)
(\(2\le N\le 750\)). She generates a depth-first search (DFS) order of the graph
by calling the function \(\texttt{dfs}(1)\), defined by the following C++ code.
Each adjacency list (\(\texttt{adj}[i]\) for all \(1\le i\le N\)) may be permuted arbitrarily before starting
the depth first search, so a graph can have multiple possible DFS orders.
vector<bool> vis(N + 1);
vector<vector<int>> adj(N + 1); // adjacency list
vector<int> dfs_order;
void dfs(int x) {
if (vis[x]) return;
vis[x] = true;
dfs_order.push_back(x);
for (int y : adj[x]) dfs(y);
}
You are given the initial state of the graph as well as the cost to change the
state of each edge. Specifically, for every pair of vertices \((i,j)\) satisfying
\(1\le i
that
- If \(a_{i,j}>0\), edge \((i,j)\) is not currently in the graph, and can be added for cost \(a_{i,j}\).
- If \(a_{i,j}<0\), edge \((i,j)\) is currently in the graph, and can be removed for cost \(-a_{i,j}\).
Determine the minimum total cost to change the graph so that \([1,2\dots,N]\) is a
possible DFS ordering.
Problem credits: Benjamin Qi
SCORING
- Inputs 4-9: All \(a_{i,j}>0\)
- Inputs 10-16: \(N\le 50\)
- Inputs 17-23: No additional constraints.
Problem credits: Benjamin Qi
The first line contains \(N\).
Then \(N-1\) lines follow. The \(j-1\)th line contains
\(a_{1,j}, a_{2,j}, \dots, a_{j-1,j}\) separated by spaces.
The minimum cost to change the graph so that \([1,2,\dots, N]\) is a possible DFS
ordering.
4
1
2 3
40 6 1110Initially, the graph contains no edges. \((1,2),(2,3),(2,4)\) can be added for a
total cost of \(1+3+6\). The graph now has two possible DFS orderings:
\([1,2,3,4],[1,2,4,3]\).
5
-1
10 -2
10 -7 10
-6 -4 -5 105Initially, the graph contains edges \((1,2),(2,3),(2,4),(1,5),(2,5),(3,5)\). Edge
\((3,5)\) can be removed for a cost of \(5\).
4
-1
-2 300
4 -5 69Initially, the graph contains edges \((1,2),(1,3),(2,4)\). Edge \((2,4)\) can be
removed and edge \((1,4)\) can be added for a total cost of \(5+4=9\).
riseoj 작성
출처 올림피아드 > USACO > 2024-2025 > January > Platinum
평가 및 의견
DFS Order
Log in to rate problems.
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
DFS Order