PS(68)
- 
                
                  
                  BOJ 6171 : 땅따먹기https://www.acmicpc.net/problem/6171 Naive한 dp로 먼저 생각해보자. dp[i] = i번째 땅까지 샀을 때의 비용의 최솟값 dp[i] = min(dp[j-1]+max(w[k])*max(h[k])) (0 2021.08.08
- 
                
                  
                  BOJ 2516 : 원숭이https://www.acmicpc.net/problem/2516 2516번: 원숭이 첫째 줄에는 원숭이들의 수를 나타내는 하나의 정수 N이 주어진다. 단, N은 3이상 100,000이하의 정수이다. 둘째 줄부터 N개의 줄에는 1번부터 번호순서대로 각 원숭이에 대해 앙숙관계에 있는 원숭 www.acmicpc.net 신기한 그리디 문제다. 모든 원숭이를 한 우리에 모아두고 앙숙관계가 2마리 이상인 원숭이들을 다른 곳으로 옮겨놓는 방식으로하면 된다. i) 옮길 원숭이가 없다면 모든 원숭이에 대해 같은 우리에 앙숙관계인 원숭이가 1마리 이하임을 의미하므로 문제의 답을 찾을 수 있다. ii) 옮기는 경우가 있다면 옮기고 나서 앙숙관계인 원숭이가 1개 이상 줄어든다. 그러므로 이런 상황은 통틀어서 총 3n번까지 .. 2021.08.06
- 
                
                  
                  BOJ 2923 : 숫자 게임https://www.acmicpc.net/problem/2923 문제에서 10)로 포인터들을 움직이면서 그리디하게 찾아주면 된다 코드 2021.08.06
- 
                
                  
                  BOJ 15311 : 약 팔기https://www.acmicpc.net/problem/15311 15311번: 약 팔기 첫 번째 줄에 동규의 최대 약 요구량을 나타내는 정수 N ($=1\, 000\, 000$) 이 주어진다. www.acmicpc.net 재밌는 문제다. 왠만하면 풀이를 보지 않는 걸 추천한다. n 1000*1000 + 1*1000이므로 배열을 1 1000개와 1000 1000개로 채우면 모든 수를 만들 수 있다. 코드 2021.08.04
- 
                
                  
                  BOJ 1066 : 에이한수https://www.acmicpc.net/problem/1066 1066번: 에이한수 첫째 줄에 N자리이면서 진짜A한수의 개수를 1,000,000,007로 나눈 나머지를 출력한다. www.acmicpc.net 관찰이 재밌고 어려운 문제이다. 내가 문제 풀 당시에 관찰한 것은 -진짜 A한수에서 A의 자릿수가 비내림차순하게 만드려면 무조건 수열로 분할했을때 모든 수열이 비내림차순이여야 되는것이다. -A한수는 A+1한수이다. (if A 찐A한수는 등차수열 그룹의 갯수의 최솟값이 A인 A한수다. -A>9일때 답은 0이다. 이를 이용해 dp로 풀면 dp[i][j][k][d] = i번째 자릿수 차례, 등차수열 그룹 수가 j, i번째 자릿수가 k, 이전수가 속한 그룹의 등차가 d일때 갯수 라고 정의하.. 2021.08.03
- 
                
                  
                  BOJ 1637 : 날카로운 눈https://www.acmicpc.net/problem/1637 1637번: 날카로운 눈 첫째 줄에 입력의 개수 N이 주어진다. N은 1이상 20,000이하인 수이다. 그 다음 줄부터 N줄에 걸쳐 세 개의 정수 A, C, B가 주어지는데, 이것은 A, A+B, A+2B, ..., A+kB (단, A+kB ≦ C) 의 정수들이 정수더미 www.acmicpc.net 아주 재밌는 문제이다. 보기 전에 꼭 혼자서 시도해보고 오길 바란다. f(n) = n 이하의 수들의 갯수 라고 한다면 f(n)이 최초로 홀수가 되는 순간이 답일 것이다. f(n)이 최초로 홀수가 되는 순간을 이분탐색으로 찾으면 된다. 코드 2021.08.03