다이나믹프로그래밍 3

백준 1965 C++

https://www.acmicpc.net/problem/1965 1965번: 상자넣기 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 www.acmicpc.net 문제 정리 주어진 상자들의 크기를 고려하여 각 상자 안에 다른 상자를 넣을 수 있는 최대 개수! 자르긴가 생각 각 상자를 마지막으로 포함하는 최대 상자 개수를 저장하는 배열 만들기 -> 저번에 했던 dp랑 비슷한데? 똑같은 형식인듯!! 코드 #include #include using namespace std; int main() { int n; cin >> n; int box[n]; int dp[n]; f..

백준 2024.02.13

백준 2631 C++

https://www.acmicpc.net/problem/2631 2631번: 줄세우기 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 www.acmicpc.net 문제 정리 주어진 아이들의 키를 가장 적게 움직여서 증가수열이 되도록 정렬하는 문제 문제가 왤케 쓸데없이 길어;;; 난독 오게 생ㄱ김 생각 DP로 푸는데 아이의 위치를 변경할 때마다 그 때까지의 최대 증가수열의 길이를 저장 코드 #include #include using namespace std; int main() { int N; cin >> N; int children[N]; int dp[N]; fo..

백준 2024.02.13

백준 2579 C++

https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 정답 코드 #include #include using namespace std; int main() { int N, arr[300], stair[300], dp[300] = {0}; cin >> N; for(int i=0 ; i> arr[i]; } for(int i=0 ; i

백준 2024.01.31
728x90