본문 바로가기

LCA

(3)
[BOJ] 1761번 정점들의 거리 (C++) https://www.acmicpc.net/problem/1761 1761번: 정점들의 거리 첫째 줄에 노드의 개수 N이 입력되고 다음 N-1개의 줄에 트리 상에 연결된 두 점과 거리를 입력받는다. 그 다음 줄에 M이 주어지고, 다음 M개의 줄에 거리를 알고 싶은 노드 쌍이 한 줄에 한 쌍씩 www.acmicpc.net #include #include #include using namespace std; int parent[40001]; int depth[40001]; int length[40001]; bool visited[40001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector node[40001];..
[BOJ] 11437번 LCA (C++) https://www.acmicpc.net/problem/11437 11437번: LCA 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지고, 다음 M개 줄에는 정 www.acmicpc.net #include #include #include using namespace std; int parent[50001]; int depth[50001]; bool visited[50001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector node[50001]; for(int i = 0; i < n..
[BOJ] 3584번 가장 가까운 공통 조상 (C++) https://www.acmicpc.net/problem/3584 3584번: 가장 가까운 공통 조상 루트가 있는 트리(rooted tree)가 주어지고, 그 트리 상의 두 정점이 주어질 때 그들의 가장 가까운 공통 조상(Nearest Common Anscestor)은 다음과 같이 정의됩니다. 두 노드의 가장 가까운 공통 조상은, 두 www.acmicpc.net #include using namespace std; int parent[10001]; bool visited[10001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int t; cin >> t; for(int j = 0; j > n; // 초기..