백준/DP (67) 썸네일형 리스트형 백준 2688 - 줄어들지 않아 www.acmicpc.net/problem/2688 2688번: 줄어들지 않아 문제 어떤 숫자가 줄어들지 않는다는 것은 그 숫자의 각 자리 수보다 그 왼쪽 자리 수가 작거나 같을 때 이다. 예를 들어, 1234는 줄어들지 않는다. 줄어들지 않는 4자리 수를 예를 들어 보면 0011, www.acmicpc.net 각 자리의 숫자들이 단조 증가하는 수열을 구하는 문제이다. 1의 자리 숫자들은 문제에서 이야기하는 줄어들지 않음을 만족하므로 그 갯수를 1로 채우고 바텀업 DP를 통해 나머지 자리수들의 값을 채워나가면 된다. #include using namespace std; using ll = long long; ll dp[10][64]; int main() { for (int a = 0; a < 10; ++.. 백준 2624 - 동전 바꿔주기 www.acmicpc.net/problem/2624 각 고유한 가치를 지닌 동전의 개수가 주어졌을 때 금액 T를 만들 수 있는지, 가능하면 경우의 수가 몇 가지가 되는지 알아내는 문제이다. 2원이 4개 있다고 할 때 다음 테이블을 고려해보자. 금액 0 1 2 3 4 5 6 7 8 경우의 수 1 0 0 0 0 0 0 0 0 초기엔 0원을 만드는 경우도 인정하여 0원을 만드는 경우의 수를 1이라고 설정해 놓는다. 여기서 2원을 하나 가지고 테이블을 채워보자. 금액 0 1 2 3 4 5 6 7 8 경우의 수 1 0 1 0 0 0 0 0 0 자명하게도 1개의 2원 동전으로는 다음과 같이 테이블을 채울 수 있을 것이다. 여기서 2원을 하나 더 추가하면 다음과 같이 된다. 금액 0 1 2 3 4 5 6 7 8 경우.. 백준 3980 - 선발 명단 www.acmicpc.net/problem/3980 3980번: 선발 명단 문제 챔피언스 리그 결승전을 앞두고 있는 맨체스터 유나이티드의 명장 퍼거슨 감독은 이번 경기에 4-4-2 다이아몬드 전술을 사용하려고 한다. 오늘 결승전에 뛸 선발 선수 11명은 미리 골라두었� www.acmicpc.net 11명의 선수를 배치했을 때 최대 능력치를 구하는 문제이다. 11명을 전부 배치할 수 있는 TC만 주어지며 반드시 11명을 배치해야 한다는 점을 주의하자. 11명을 반드시 배치해야 한다는 조건에 주목하여 비트마스크 DP, 탐색 등의 방법을 통해 능력치의 최댓값을 찾도록 한다. 단, 비트마스크 DP를 이용시 다음과 같은 케이스에 유의하도록 한다. 1 10 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0.. 백준 15468 - 퇴사 2 www.acmicpc.net/problem/15486 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net 상담을 통해 백준이가 얻을 수 있는 최대 수익을 구해보자. N이 최대 150만으로 꽤 크므로 완전탐색은 불가능하고 동적 계획법을 통해 문제를 풀어야 한다. 다음 점화식을 세워 풀이할 수 있다. 구하려는 최대 수익 earning에 대해 earning += max(idx 일에 상담을 실시 했을 때 벌 수 있는 수익, idx 일에 상담을 하지 않을 경우 벌 수 있는 수익) 본인의 코드에.. [USACO] 백준 5864 - Wifi Setup www.acmicpc.net/problem/5864 일직선상에 서있는 N(1 n >> a >> b; dp[0] = a; for (int i = 0; i > x; crd.push_back(x); } sort(crd.begin(), crd.end()); cout 이전 1 ··· 10 11 12 13 14 다음