본문 바로가기

DP2

[알고리즘] 다리 놓기 - DP 문제 링크다리 놓기 : https://www.acmicpc.net/problem/1010 문제탐색기본 원리 탐색강 서쪽에서 강 동쪽으로 다리를 건설하는 것은 곧 M개의 수에서 N개만큼 뽑는것과 같습니다.이 때, 다리가 겹치면 안된다는 것은, 뽑은 N개의 수에 순서를 정할 필요가 없다는 것입니다.이것은 조합으로 C(M,N) 으로 나타낼 수 있습니다.  시간복잡도와 알고리즘시간제한 : 0.5초약 5000만 번의 연산이 가능하다고 가정합니다.서,동 사이트 수 :  최대 29조합에서의 최악의 경우의수는 M과N의 최대치가 같다는 가정하에  C(M,N/2) 으로 알려져 있습니다.  itertools.combinations 함수를 사용하여 모든 경우의 수를 구하면 , 최악의경우 C(29,14)가 되며 이것은 문제 예.. 2025. 1. 16.
[알고리즘] 부녀회장이 될테야 - DP 문제 링크 부녀회장이 될테야 : https://www.acmicpc.net/problem/2775 문제탐색기본 원리 탐색"a층b호에 살려면 a-1층 1호~b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야한다" 라는 규칙에 따라 수를 나열 한 후 k층 n호에는 몇명이 사는지 구하는 문제이다.기본적으로 0층은 1, 2, 3, 4, 5 ... 이런식으로 나열되며 그에따라 1층은 1, 3, 6, 10 ....순으로 나열될 것이다. 시간복잡도와 알고리즘시간제한 : 0.5초약 5천만 번의 연산이 가능하다고 가정합니다.최대 층,호 : 14  해당 문제의 경우 k층 n호의 거주민수가 어떻게 계산되는지 파악하는것이 우선입니다.각 층,호 의 주민 수를 2차원 리스트에 담았다는 가정하에, k층  n호의 거주민 수 를파이.. 2025. 1. 15.