Categories

351 pages

Algorithm

[Algorithm] C++/Python 백준 1126번 : 같은 탑

백준 1126번 '같은 탑' 문제는 여러 블록을 이용해 두 탑의 높이를 동일하게 만들되 가장 높은 탑의 높이를 최대화하는 최적화 문제입니다. 동적 계획법(DP)을 활용하여 두 탑의 높이 차이와 누적 높이를 효율적으로 관리하며, 상태 전이와 초기화 방안, 구현 방법을 상세하게 다룹니다. 본 글은 C++/Python 예제 코드 및 핵심 아이디어를 포함하여 문제 해결에 필요한 핵심 로직과 최적화 전략을 설명합니다.
[Algorithm] C++/Python 백준 1126번 : 같은 탑

[Algorithm] C++/Python 백준 24505번 : blobhyperthink

이 글에서는 백준 24505번 'blobhyperthink' 문제를 C++ 및 Python을 활용해 효율적으로 푸는 방법을 다룹니다. 최대 10^5 길이의 수열에서 길이가 11인 증가 부분 수열의 개수를 구하기 위해 동적 계획법과 Binary Indexed Tree(Fenwick Tree)를 활용하는 자세한 알고리즘 설계 및 최적화 과정을, 시간 복잡도와 실제 코드 구현과 함께 150자 내외로 명확하게 설명합니다.
[Algorithm] C++/Python 백준 24505번 : blobhyperthink

[Algorithm] C++/Python 백준 16978번 : 수열과 쿼리 22

백준 16978번 문제는 여러 버전의 수열 상태에서 구간 합 쿼리와 값을 갱신하는 쿼리를 빠르게 처리해야 합니다. 이를 위해 영속적 세그먼트 트리(Persistent Segment Tree)를 활용하여, 각 업데이트마다 새로운 버전을 효율적으로 관리하며, 원하는 시점의 구간 합을 O(log N)에 계산할 수 있습니다. 본 글에서는 문제의 요구사항, 제한 사항, 데이터 구조의 원리와 구현 방법을 상세히 설명합니다.
[Algorithm] C++/Python 백준 16978번 : 수열과 쿼리 22

[Algorithm] C++/Python 백준 1671번 : 상어의 저녁식사

백준 1671번 상어의 저녁식사 문제는 각 상어의 능력치(크기, 속도, 지능)에 따라 상호 포식 관계를 모델링하고, 한 상어가 최대 두 마리까지 다른 상어를 잡아먹을 수 있다는 제약조건을 적용해 최적의 생존 상어 수를 구하는 이분 매칭 알고리즘 문제입니다. 매칭 과정을 통해 생존 상어의 최소 개수를 도출하며, 비교 및 구현 과정에 그래프와 매칭 알고리즘의 이해가 필수적입니다.
[Algorithm] C++/Python 백준 1671번 : 상어의 저녁식사