연산자 우선순위와 뱀 이동 알고리즘 분석

연산자 우선순위 (D - Operator Precedence) 길이가 \\(2n\\)인 수열 \\(a_{2n}\\)을 찾는 문제입니다. 조건은 다음과 같습니다: \\((a_1 × a_2)+(a_3 × a_4)+\ldots+(a_{2n-1} × a_{2n})=a_1×(a_2+a_3)×\ldots×(a_{2n-2}+a_{2n-1})×a_{2n}\\) #include <iostream> using namespace std; int main() { int n, x = 1, y = 1; cin >> n; cout > y; ...

6월 28일 01:10에 게시됨

네트워크 유량 알고리즘 구현: 최대 유량과 최소 비용 최대 유량

최대 유량 (Maximum Flow) 최대 유량 문제를 해결하기 위해 가장 널리 사용되는 Dinic 알고리즘의 구현입니다. 너비 우선 탐색(BFS)을 통해 레벨 그래프를 구성하고, 깊이 우선 탐색(DFS)을 통해 블로킹 유량(blocking flow)을 찾아내는 방식을 사용합니다. 현재 엣지 최적화(Current Edge Optimization)가 적용되어 시간 복잡도를 줄였습니다. 가독성과 유지보수를 위해 ...

6월 11일 21:45에 게시됨

CrCPC 2024 알고리즘 솔루션 가이드

문제 A: 인공지능의 종료 시나리오 이 문제는 상태 간의 전이를 효율적으로 관리하는 것이 핵심입니다. 주어진 값들의 분포를 압축하여 중복을 제거하고 (좌표 압축), 각 단계마다 가능한 최소 이동 횟수를 계산합니다. 전체적인 시간 복잡도는 로그 스케일을 가지므로 \(O(N \log N)\) 입니다. // 참조 구현 코드 #include <bits/stdc++.h> using namespace std; ...

6월 5일 01:01에 게시됨