![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/GGOLc/btrMdFJNkcq/LJNrKuzOqS5eevWP5lsz1K/img.png)
▣ 문제 출처 ─ 제3회 kriiicon ㅅ번 문제 ▣ 알고리즘 분류 ─ 수학 / 구현 / 기하 / 많은 조건 분기 / 미적분학(그린 정리) ▣ solved.ac 기준 난이도 ─ Ruby II 문제 링크: https://www.acmicpc.net/problem/11392 약 한 달 전쯤, 모 세미나(?)에서 본 문제의 풀이에 대해 발표할 일이 있었어서 발표 자료를 만들었는데… 나름대로 열심히 만든 자료를 한 번 발표하는 데 쓰고 끝내기는 좀 아까워서 여기에도 올려봅니다! (파일 저장 후 '읽기 전용'으로 여시면 됩니다.) 원본 발표 자료에서 개인 정보나 문제 풀이와 관련 없는 부분 등을 조금 수정한 버전입니다. 이 문제를 도전하시는 분들에게 조금이라도 도움이 되셨으면 좋겠습니다. :) 덧붙여, 본 문제..
▣ 문제 출처 ─ 제1 회 곰곰컵 G번 문제 ▣ 알고리즘 분류 ─ 수학 / 확률론(기댓값의 선형성) / 조합론(더블 카운팅) ▣ solved.ac 기준 난이도 ─ Gold II (개인적으로는 골1 정도라고 생각한다.) 문제 링크: https://www.acmicpc.net/problem/25197 $N$명의 사람들이 서로 다른 $K$개의 조에 균등한 확률로 랜덤하게 나뉘어 들어간다. 각 조에서 모든 쌍이 식사를 한 번씩 한다고 할 때, 전체 식사 횟수의 기댓값은 얼마일까? 일단 $N$명의 사람들이 $K$개의 조에 들어가는 모든 경우의 수는 $K^N$가지인 걸 알고 있으므로 총 식사 횟수의 합을 구할 수 있으면 되는데, 모든 경우에 대해 일일이 식사 횟수를 구하는 건 범위상 당연히 불가능하다. 그런데 어차..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bnTZdg/btqLvGhPV8n/gEx8utVGT6WWJelBGzukMk/img.png)
▣ 문제 출처 ─ Polish Olympiad in Informatics(POI) 2005/2006 Stage 1의 5번 문제 ▣ 알고리즘 분류 ─ DFS / 이분 탐색 / 스위핑 / 기하 / CHT(Convex Hull Trick) ▣ solved.ac 기준 난이도 ─ Diamond IV (개인적으로는 다3 정도라고 생각한다.) 문제 링크: https://www.acmicpc.net/problem/1909 크기 $S = W_x \times W_y$ 그리드에 $n$개의 '특별한 점'이 주어진다. $(sx,\, sy)$에서 $(tx,\, ty)$로 가는 임의의 경로에 대해, 경로상의 임의의 점과 특별한 점들 사이 거리의 최솟값을 최대화하는 문제다. 일단 최솟값을 최대화하는 건 나중에 생각하기로 하고, 문제..
▣ 문제 출처 ─ 2019년도 서울대학교 프로그래밍 경시대회(SNUPC) Div. 1 G번 문제 ▣ 알고리즘 분류 ─ 수학(미적분학, 기하학, 확률론) ▣ solved.ac 기준 난이도 ─ Diamond II 문제의 내용은 여기에서 볼 수 있다. 필요하지 않은 스토리텔링 부분을 제외하면 문제의 내용은 한 줄로 요약할 수 있다: 다각형이 주어질 때, 다각형 내의 임의의 두 점 사이 거리의 제곱의 기댓값을 구하는 것이 목표다. 다각형 내의 점은 연속적으로 분포하므로 적분을 써야한다는 것을 쉽게 짐작할 수 있다. 주어지는 다각형의 전체 넓이(혹은 다각형 그 자체)를 $S$라고 하자. 두 점의 좌표를 각각 $(x_1,\, y_1),\, (x_2,\, y_2)$라 하면 거리의 제곱은 $(x_1 - x_2)^2 +..
▣ 문제 출처 ─ 2017년도 한국 정보올림피아드(KOI) 전국 본선 고등부 1번 문제 ▣ 알고리즘 분류 ─ BFS / 수학 / 구현 ▣ solved.ac 기준 난이도 ─ Gold II 2017년도 고등 KOI 1번으로 나온 문제다. (문제의 내용은 여기에서 확인할 수 있다.) 문제의 내용을 대략 요약하면 다음과 같다: 용량이 다른 두 개의 빈 물통 A, B가 있고, 각 시행마다 하나의 물통을 가득 채우거나, 비우거나, 한 물통에서 다른 물통으로 물을 옮기는 행위를 할 수 있다고 한다. 물통 A, B의 용량 $a,\, b\,(a < b)$와 최종 상태 $(c,\, d)$가 주어질 때, $(0,\, 0)$에서 $(c,\, d)$로 만들기 위한 최소 시행 수를 구하는 문제다. 만약 최종 상태로 만들 수 없다..
- Total
- Today
- Yesterday