일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kotlin
- CustomView
- lifecycle
- 알고리즘
- sqlite
- Behavior
- Navigation
- notification
- 코틀린
- AppBarLayout
- recyclerview
- 안드로이드
- 알림
- 백준
- BOJ
- Coroutine
- room
- CollapsingToolbarLayout
- DataBinding
- onMeasure
- ViewModel
- CoordinatorLayout
- View
- hilt
- activity
- HTTP
- Algorithm
- Android
- onLayout
- LiveData
- Today
- Total
목록알고리즘 (37)
개발일지
개념 If p is prime and a is an integer not divisible by p, then 문제 16134 조합 www.acmicpc.net/problem/16134 16134번: 조합 (Combination) \(\begin{pmatrix}N\\R\end{pmatrix}\)의 값을 1,000,000,007로 나눈 나머지를 출력하자! (단, 1,000,000,007은 소수이다) www.acmicpc.net 코드 #include using namespace std; constexpr long long MOD = 1000000007; long long pow(long long x, long long y) { long long result = 1L; while (y) { if (y & 1)..
개념 강한 연결 요소(Strongly Connected Component)는 방향 그래프에서 서로 왕복할 수 있는 가장 큰 정접들의 집합입니다. 작동원리 1. DFS를 하면서 방문하는 순서대로 값을 할당하고, 스택에 넣는다. 2. DFS를 하면서 방문하지 않는 정점이나, 방문했지만 아직 SCC에 속하지 않은 정점들에게 할당된 값 중 가장 작은 값을 리턴한다. 3. 자신에게 할당된 값과 리턴값이 같으면 SCC이다. * 타잔 알고리즘은 스택을 사용하여 SCC를 추가하기 때문에 위상정렬이 된다. 시간복잡도 1. DFS할 때 O(V + E) O(V + E) 문제 2150 Strongly Connected Component www.acmicpc.net/problem/2150 2150번: Strongly Conne..
개념 강한 연결 요소(Strongly Connected Component)는 방향 그래프에서 서로 왕복할 수 있는 가장 큰 정접들의 집합입니다. 작동원리 1. 정방향 그래프로 DFS를 하면서 탐색이 끝나는 순으로 스택에 넣는다. 2. 스택에서 하나씩 꺼내면서 역방향 그래프로 DFS를 진행한다. 3. 역방향으로 DFS를 진행하면서 방문하는 정점들이 SCC이다. 시간복잡도 1. 정방향 그래프로 DFS -> O(V + E) 2. 역방향 그래프로 DFS -> O(V + E) O(V + E) 문제 2150 Strongly Connected Component www.acmicpc.net/problem/2150 2150번: Strongly Connected Component 첫째 줄에 두 정수 V(1≤V≤10,000..
개념 단절선이란 그 간선을 제거했을 때, 그래프가 두 개 또는 그 이상으로 나누어지는 간선을 말한다. 작동원리 DFS를 이용하여 정점이 몇 번째로 방문되는지 기록하고, 기록한 값 중에 최솟값을 반환한다. DFS를 통해 반환된 값들 중 자신보다 큰 값이 있으면 단절선이다. (아직 방문하지 않았다는 뜻으로, 지금 보는 정점이 아니면 갈 방법이 없다는 뜻, 즉 지금 보는 간선을 제거하면 그래프가 분리된다.) 시간복잡도 DFS를 할 때 O(V + E) 문제 11400 단절선 www.acmicpc.net/problem/11400 11400번: 단절선 첫째 줄에 두 정수 V(1≤V≤100,000), E(1≤E≤1,000,000)가 주어진다. 이는 그래프가 V개의 정점과 E개의 간선으로 이루어져 있다는 의미이다. 다..
개념 단절점이란 그 정점을 제거했을 때, 그래프가 두 개 또는 그 이상으로 나누어지는 정점을 말한다. 작동원리 DFS를 이용하여 정점이 몇 번째로 방문되는지 기록하고, 기록한 값 중에 최솟값을 반환한다. - DFS를 시작한 Root일 경우 DFS를 통해 갈 수 있는 정점이 2개 이상일 경우 단절점이다. (Root를 통해 갈 수 있다는 정점이 2개 이상이면 Root를 제거했을 때 그래프가 2개 이상으로 분리된다는 뜻이다.) - DFS를 시작한 Root가 아닐 경우 DFS를 통해 반환된 값들 중 자신보다 크거나 같은게 있으면 단절점이다. (자신보다 값이 크거나 같은게 있다면, 아직 DFS를 통해 방문하지 않은 정점이 있다는 뜻이고, 자신이 없을 경우 방문하지 못하기 때문에 그래프가 분리된다는 뜻이다.) 시간..