일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 조합론
- dfs
- tensorflow
- 플로이드 와샬
- 우선 순위 큐
- object detection
- 미래는_현재와_과거로
- 회고록
- NEXT
- 자바스크립트
- 다익스트라
- c++
- BFS
- 알고리즘
- back propagation
- 문자열
- DP
- 세그먼트 트리
- 크루스칼
- 분할 정복
- lazy propagation
- 너비 우선 탐색
- 가끔은 말로
- 이분 탐색
- 가끔은_말로
- Overfitting
- 2023
- 백트래킹
- pytorch
- dropout
Archives
- Today
- Total
목록깊이 우선 탐색 (2)
Doby's Lab

이번 문제는 꽤나 어려웠다. 어려웠던 포인트들을 정리해보면 1. DFS로 풀어야 할지 BFS로 풀어야 할지를 아직 헷갈린다. 2. DFS로 풀어야 할 땐 동작원리를 알고 있어도 어떠한 논리로 접근해야 하는지 모르겠다. 이번 문제는 BFS로 첫 시도를 했었다. 높이가 낮아지다가 다시 높아지는 시점을 두고 이를 경계선이라고 생각하며 구역을 나누어 각 구역을 산봉우리로 취급하려 했었다. 하지만, 이를 표현하는 데에 있어서 산 중턱에서 BFS가 돼버리면 구하려는 구역 이상의 수가 도출되기 때문에 다음 코드로는 답을 도출해낼 수 없었다. 그래서, flag 변수나 min값을 도입해 봤지만 풀리지 않았다. #include #include #include using namespace std; int n, m; int ..
PS/BOJ
2021. 10. 20. 21:17

이번 문제는 BFS로 풀려고 했다. [당시 썼던 BFS 코드] void bfs(int row, int col) { queue q; q.push(make_pair(row, col)); while (!q.empty()) { int y = q.front().first; int x = q.front().second; q.pop(); for (int i = 0; i = 1 && dy = 1 && dx > 앞 길에 'A'가 있는데 1, 1에서 출발한 길에선 아직 'A'가 나오지 않아서 가야 하지만 다른 길에서 이미 'A'가 나와서 가지 못하는 것으로 판단하는 것을 말한다. [DFS를 사용한 이유] ..
PS/BOJ
2021. 10. 15. 11:13