일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디
- dfs
- JPA
- GCP
- 이분 탐색
- 우선순위 큐
- 최단 경로
- 재귀
- web
- Spring
- thymeleaf
- c++
- 스택
- 데이크스트라
- 시뮬레이션
- java
- error
- 맵
- Reversing
- dynamic debugging
- 구현
- BFS
- DP
- 누적 합
- 위상 정렬
- CVE
- 분할 정복
- OS
- 문자열
- 백트래킹
- Today
- Total
목록위상 정렬 (2)
hades
🥅 문제https://www.acmicpc.net/problem/1766 🔍 설계먼저 푸는 것이 좋은 문제를 먼저 푼다는 것에서 두 문제 간의 순서가 정해져 있고, 위상 정렬임을 쉽게 파악할 수 있었다. 추가로 우선순위가 같은 경우, 쉬운 문제를 먼저 풀기 때문에 진입 차수가 0이 되었을 때, 바로 출력하지 말고, greater 우선순위 큐를 이용하여 진입 차수가 0인 문제 번호를 담아 빼낼 때마다 출력하도록 한다. 👊 풀이#include #include #include #include #include using namespace std;int n, m, a, b;priority_queue, greater> pq;vector degree(100001);vector> adj_list(100001);v..
🥅 문제https://www.acmicpc.net/problem/2252 🔍 설계두 노드 간의 순서가 정해져 있고, 답이 여러가지인 경우에는 아무거나 출력하라는 것에서 전형적인 위상 정렬임은 쉽게 파악할 수 있었다. 다만, 다시 기억시키기 위해 알고리즘 파트에 정리하였다. 👊 풀이#include #include #include #include #include using namespace std;int n, m, a, b;vector degree(32001);vector> graph(32001);void topology_sort() { queue q; for (int i = 1; i > n >> m; for (int i = 0; i > a >> b; degree[b] += 1; graph[a].p..