본문 바로가기

728x90

전체 글

(24)
최대 유량 알고리즘 1 (Ford-Fulkerson, Max Flow Minimum Cut Theorem) 최근 유량 알고리즘들을 공부해 봤는데, 정리와 증명이 명확하게 정리된 블로그가 잘 없는 것 같아서 정리한다. * 모바일 환경에서 레이텍이 깨지는 현상이 있는 것 같다. 구글 크롬의 경우, 우측 상단의 점 세 개를 눌러 메뉴를 열고 "데스크톱 보기"를 활성화하는 것으로 해결할 수 있다. 0. 용어 정의 다음과 같이 그래프, 소스 정점, 싱크 정점, 용량 함수가 주어졌다고 하자. graph $G=(V, E)$, source $s \in V$, sink $t \in V (s \ne e)$, 용량 함수 $c : V \times V \longmapsto \mathbb{R}^{+}$ (수학에서는 이 네 요소 $(G, c, s, t)$를 flow network라 한다.) 이때, $G$의 소스에서 싱크로 물건을 옮기는..
백준 10075 친구 (IOI 2014 Day 2 2번) (2023-08-29 수정 : 제 블로그 코드를 치팅하는(그대로 배껴서 내는) 경우가 너무 많아서 코드를 삭제했습니다.) 문제 설명(링크): https://www.acmicpc.net/problem/10075 10075번: 친구 0, ... , n-1로 번호가 매겨진 n명의 사람으로 구성된 소셜 네트워크를 만들자. 이 네트워크에 있는 사람들 중 어떤 쌍은 서로 친구가 된다. 즉, 사람 x가 사람 y의 친구가 되면, 사람 y도 사람 x의 친 www.acmicpc.net 문제 요약 특이한 그래프가 주어지고, 정점마다 가중치가 있어서 최대 독립 집합을 찾아야 한다. 풀이 우선 그냥 최대 독립 집합을 구하는 문제는 매우 어려운 문제고, NP라 다항시간 풀이도 없다. 그러나, 트리의 경우라면 매우 쉬워진다. $d..
백준 21794 Navigation 2 (JOISC 2020/2021 Day 4 2번) 문제 설명(링크) https://www.acmicpc.net/problem/21794 21794번: Navigation 2 C++17, C++14, C++20, C++14 (Clang), C++17 (Clang), C++20 (Clang) www.acmicpc.net 풀이 14는 조금 어렵고, 13은 어렵고, 12는 더 어렵다. 14 풀이 x좌표, y좌표가 3의 배수인 칸마다 14를 쓴다. 하나의 14 주위의 8개의 칸을 다음과 같이 번호를 붙이자. 0 1 2 3 14 4 5 6 7 7번 칸은 현재는 사용하지 않는다. 아무 수나 채우자. 14가 가운데에 위치한 3*3의 영역을 블럭이라 하자. 한 블럭의 14를 기준으로, 그 블럭과 $i$번째 도착점의 상대적인 위치관계를 아래 표와 같이 표시하자. 14가 ..

728x90