본문 바로가기

알고리즘3

백준 1167 트리의 지름 CPP 1.문제 https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 2. 풀이 1) 트리의 지름은 최상단 루트 노드를 지난다. (그래야 가장 길게 연결하니까) 근데 문제는 최상단 루트 노드를 알 수 없다는 것이다. 2) 각 노드마다 연결된 dfs()값을 priority_queue로 입력받아서 어떤 노드가 최상단 노드이든 상관 없게 만들었다. 어느 노드이든 최댓값은 자기에게 들어오는 dfs()값들 중 가장 큰 두 값을 더한 것이다. 3) 그.. 2022. 5. 18.
백준 1991 트리순회 CPP 1. 문제 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 2. 풀이 이진트리 -> pair 알파벳을 array에 넣기 위해서 -> ascii 순회 -> 루트를 언제 세는 지, 그리고 중위 순회는 독특하게도 노드를 왼쪽에서 오른쪽으로 세는 순서대로 나온다. 3. 구현 #include using namespace std; pair adj[28]; int vis[28]; void preDfs(int n){ int le = adj[n].f.. 2022. 5. 18.
잘 짜는 코더들 https://leetcode.com/kannu_priya/ kannu priya - LeetCode Profile Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com https://www.acmicpc.net/user/uglyonlytoday uglyonlytoday 정보 www.acmicpc.net https://www.acmicpc.net/user/koosaga koosaga 정보 www.acmicpc.net 2022. 3. 31.