그래프의 특정 서브그래프 개수 구하기

·
PS | 알고리즘/문제 푸는 팁
ICPC Korea Regional 예선 2025 셋으로 팀 연습을 돌다가 알게 된 방법이다. 문제 이 방법을 알게 된 후 2026 TOPC에서도 써먹을 수 있는 문제를 마주했다. 그래프 문제를 풀다보면 다음과 같은 테스크가 자주 주어진다."그래프 $G$가 주어질 때 $G$에 나타나는 ~하게 생긴 부분 그래프 $H$의 개수를 구하시오." 그 중에서도 구하려는 부분 그래프의 정점의 수가 $3$이거나 $4$인 경우, 문제를 푸는 방법이 흔히 알려져 있다. 이 글을 참고하면 간선의 개수가 $E$개 일 때, 문제를 $O(E \sqrt{E})$ 에 해결할 수 있다. 그래프에서 특정 모양의 개수를 구해야 한다면 다음과 같은 방법으로 문제를 분해할 수는 없는지 생각해보자.