알고리즘 3

[내공만목] 어쩌다가 knapsack 문제들을 풀게 되었다.

오늘은 무슨 알고리즘 문제들을 풀자! 라는 생각없이 그냥 백준 문제 목록들을 훑어보고 있었다. 근데, 이 문제가 눈에 띄었다. https://www.acmicpc.net/problem/17528 17528번: Two Machines 문제 스케줄링 최적화 회사인 SOPT 에 완료해야 할 n개의 작업 t1, t2, ..., tn 이 있다. SOPT 회사는 두 대의 머신 A 와 B 를 보유하고 있다. 각 작업 ti를 완료하기 위해 SOPT 는 머신 A 와 B 둘 중에 오직 하나를 선택할 수 있다. 작업 ti를 완료하기 위해 머신 A를 선택하면 ai시간이 걸리고 머신 B를 선택하면 bi 시간이 걸린다. 각 머신은 어느 순간에 최대 하나의 작업만 수행할 수 있으며, 한 작업이 시작되면 그 작 www.acmicpc..

[내공만목] Convex Hull 공부하기

ngd라는 닉을 사용하는 고등학교 후배가 있다. 분명히 몇 년전에는 코딩을 가르쳐줬던 후배인데, 기하에 미쳐가고 있는 것 같다. 계속 질문을 하는데, 난 기하 알고리즘을 공부한 적이 없어서, 공부를 시작하게 되었다.. ngd에게 감사의 말을 전한다..^^ 갑자기 기하를 시작하게 해줘서^^ 아무튼, Convex Hull이 대충 무슨 알고리즘인지는 알고있는 상황이었다. 그래서 바로, Convex Hull을 구현해보려고 했는데, 너무 비효율적인 코드가 잔뜩 쏟아졌고, 결국 구글링을 해가면서 여러 사람들의 Convex Hull 구현 코드들을 분석했다. 그 중에서, 이 분의 블로그 글이 제일 나은 것 같았다. https://www.crocus.co.kr/1288 컨벡스 헐 알고리즘(Convex Hull Algor..

[내공만목] 다익스트라 알고리즘을 다시 공부하면서

인턴으로 다닌 회사도 기간이 끝나 퇴사하고, 대학교 개강도 2주 연기되면서 학교 기숙사에서 딩굴거리고 있습니다 그러던 중에, 하루에 알고리즘 1개씩 다시 익히면 꽤 남는게 있지 않을까 싶어서 solved.ac에서 분류되어있는 알고리즘 중 오늘은 다익스트라 알고리즘을 살짝쿵 건드려봤습니다. 푼 문제들은 아래와 같습니다. 다익스트라 알고리즘을 딱 사용하고 적당히 활용하는 문제들이어서 비교적 쉽게? 푼 것 같습니다. 계속 조건만 바꿔가면서 코드를 제출했으니 말이죠. https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한..