분류 전체보기80 [DP] 11052 - 카드 구배하기 (실버1) with Python https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 주저리 주저리 실버 dp문제에서 조금 고민을 하게 되었던 문제였다. 문제의 이해에 난해가 있어서 그런듯하다. 조금 특이하게 보통 최소값을 찾는데 최대값을 찾는 문제가 나왔다. 뭐 그래도 이전에 풀었던 문제들이랑 큰 차이점은 없었다고 본다. 문제 해결 n = 1~N까지의 모든 최대값을 구하는 것이 관점 포인트라고 할 수 있다. i번째의 최대값은 자기 자신과 자기 자신 이전의 최대값 + 그거를 보충하는 카드.. 2023. 2. 18. [DP] 1904 - 01타일 (실버3) with Python https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 주저리 주저리 dp를 하두 풀어보니 이제 이런 문제는 보자마자 답이 나오기 시작한다... 나는 dp에 약했었는데(그래프랑 dp랑...그리디랑...) 집중적으로 파기 시작하니 사람이 꼭 죽으라는 법은 없는 것 같다 하지만 그래봤자 아직 골5 ~ 실버문제들... 못해도 골드 2~3까지는 가는것이 목표이다. 아자! 문제 해결 문제 해결방법은 간단한 규칙만 생각하면된다 n번째에서 둘수 있는 방법은 전단계의 영.. 2023. 2. 18. [DP] 2225 - 합분해 (골드5) with Python https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 주저리 주저리 최근 dp관련 문제를 하두 풀다 보니, 문제를 보자마자 아 이건 dp겠네? 라는 생각이 먼저 들게 되었다. 문제 해결 일단 문제를 보면 0부터 N까지 정수 K개를 더해 그 합이 N이 되는 개수를 구하라... 게다가 1+2와 2+1은 서로 다른 것으로 판단한다라 그러면 더 쉽게 생각이 가능하다 판단하였다. 일단 dp[5][2]라고 해보자 (N=5, K=2) 즉 2개의 수로 더해 5을 만드는 경우의 수라고 생각하자 그러면 우린 dp[0][1] dp[1][1] dp[2][1] dp[3][1] dp[4][1] dp[.. 2023. 2. 18. [DP] 1309 - 동물원 (실버1) with Python https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 주저리 주저리 개인적으로 조금 시간이 많이 걸렸던 문제였다. 2 * n 타일링이 생각나는 그 문제 다른 점이라고 하면 사자는 서로 겹치지 않아야하고 아예 배치도 안 할수도 있다는 문제이다. 일단 문제를 보고 처음엔 규칙이 있나 확인해 보았지만 규칙이 보이지는 않았다. 즉 수열같은 규칙은 아니라는 말이고... 그럼 문제 자체를 들어가 봐야겠다. 문제 해결 저 가로 2칸 네모안에 왼쪽, 오른쪽 둘 중 하나에 배치를 할 수 있고, 배치도 안할수가 있다. 그렇게 생각해보면 위에서 배치를 안하는 케이스, 위에서 왼쪽에 배치를 한 케이스, .. 2023. 2. 18. 이전 1 ··· 14 15 16 17 18 19 20 다음 728x90