Loading [MathJax]/jax/output/CommonHTML/jax.js

BFS 3

BOJ 11738 - Distance on Triangulation

문제 링크 : www.acmicpc.net/problem/11738 문제 설명 다각형이 삼각분할 되어있다. 모든 선분의 길이는 1이다. 쿼리로 두 점이 주어졌을 때 두 점 사이의 거리를 출력하는 문제이다. 문제 태그 더보기 bfs, dnc, offline query, 재귀 문제 풀이 이 문제를 보면 가장 먼저 O(NM) 의 풀이를 생각할 수 있다. 본인은 n개의 점에서 모두 다익스트라를 돌려서 O(NMlgN)의 풀이를 생각했지만 모든 선분의 가중치가 1이기 때문에 모든 점을 시작점으로 해서 각각 bfs를 하는 것으로 O(NM)의 풀이가 나오게 된다. 하지만 문제에서 요구하는 시간 복잡도는 제곱 미만이다. 따라서 이 문제의 특성을 관찰해야 한다. 이 문제의 가장 큰 특성은 일반적인 그래프가 아닌..

BOJ 1260 - DFS와 BFS

문제 태그 : https://www.acmicpc.net/problem/1260 문제 설명 사실 풀이라고 할 것은 딱히 없다. 문제의 제목 부터 내용까지 DFS와 BFS를 한 번 해보시오 라는 뜻의 연습문제이다. DFS와 BFS에 대한 개념을 알아야지 풀 수 있으며, 알 면 풀 수 있다. DFS와 BFS에 대한 설명은 여기에 나와있다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 #include using namespace std; int vid[10101]; int vib[10101]; vector ed..

알고리즘 & 자료구조 복기글 (2) - BFS 와 DFS

BFS 와 DFS는 정말 노드와 간선이 있으면 어디에서든 쓰일 여지가 있는 알고리즘이다. 정확히 말하자면 탐색방법이다. BFS는 Breadth First Search의 약자로 한국어로는 넓이 우선 탐색이다. 말 그대로 넓이를 우선시 하는 탐색 방법이다. DFS는 Depth First Search의 약자로 한국어로는 깊이 우선 탐색이다. 역시 말 그대로 깊이를 우선시 하는 탐색 방법이다. BFS 와 DFS를 처음 공부할때는 뉴비인 경우가 많기 때문에 보통은 바로 트리나 그래프를 그리기 전에 예시를 든다. 보통은 이러한 예시를 든다. '우리가 만약 넓고 좋은 새 집을 보러간다고 하자. BFS는 처음 들어선 거실에서 연결된 방을 다 가보는 것이다. 여러 방들을 둘러보면, 그제서야 보았던 방 중 하나를 기억해서..

1