HEOI2016/TJOI2016 알고리즘 문제 해설
[HEOI2016/TJOI2016] 트리
이 문제는 트리에서 노드를 표시하거나, 특정 노드로부터 가장 가까운 조상 중 표시된 노드를 찾는 쿼리를 처리해야 한다. 이를 효율적으로 해결하기 위해 경로 분할(Heavy-Light Decomposition) 기법을 사용한다. 각 경로 체인의 맨 위에 있는 표시된 노드를 관리하고, 세트(set)를 이용해 체인 내 위치를 추적한다. 쿼리는 부모 방향으로 이동 ...
7월 14일 19:41에 게시됨
알고리즘 시험 주요 유형 정리
주요 알고리즘 패턴별 예제
재귀: 병합 정렬
병합 정렬은 배열을 반으로 나눈 후 정렬된 부분들을 병합하는 전형적인 재귀 알고리즘이다.
#include<iostream>
#include<vector>
using namespace std;
vector<int> data;
vector<int> temp(1000);
void mergeSort(int left, int right) {
if (left >= right) return;
int mid ...
7월 4일 02:32에 게시됨
중산 집중 훈련 기록 (7.28–8.11)
7월 29일
주로 모의고사 중심으로 진행되었으며, 일부 문제에 대한 분석과 후기 포함.
T1
간단한 시뮬레이션 문제. CSP-S2023 T3보다도 쉬웠다. 디버그 문구를 지우지 않아서 실수했지만, 다행히 오답은 아니었다. 복잡도가 높을 수 있다는 점을 인지하고, 더 효율적인 접근 방식을 고려해야 한다. 결국 코드는 통과했으나, 조건이 애매하면 예외 처리가 필요하다.
T2
초기 ...
6월 11일 20:47에 게시됨