250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준 C++
- iles dHyeres
- 1654
- 융프라우 스위스 패스
- 프랑스 남부 섬
- 백준으로 c++ 공부하기
- C++
- 16236 c++
- 24524
- 군대코딩
- 로이커바트
- auto code review
- 로이커바트 숙소
- 그린델발트 캠핑장
- 코딩
- Replit
- openai api
- 대학생
- 그린델발트 자전거
- porquerolles
- 알고리즘
- 군인
- 피르스트 자전거
- 오리스프
- 백준으로 C++ 공부
- 시뮬레이션
- 군대
- C++ 공부
- C++ 공부하기
- 백준
Archives
- Today
- Total
기억보다는 기록을 해볼까
C++ 공부 15일차 (11723, 1003, 1463, 17626, 2579) 본문
728x90
오늘 공부한 백준
11723, 1003, 1463, 17626, 2579
다이내믹 프로그래밍
과거에 구한 해를 활용하는 알고리즘
구하는 경로가 고정되어 있는 해를 구할 때 유용
1003 (피보나치 함수)
int fibonacci(int n) {
dp[n][0] = dp[n-1][0]+dp[n-2][0];
dp[n][1] = dp[n-1][1]+dp[n-2][1];
return 0;
}
1463 (1 만들기)
//미리 만들어 놓는다
dp[1] = 0;
for(int i = 2; i <= n; i++){
dp[i] = dp[i - 1] + 1;
if(i % 2 == 0) dp[i] = min(dp[i / 2] + 1, dp[i]);
if(i % 3 == 0) dp[i] = min(dp[i / 3] + 1, dp[i]);
}
17626 (FOUR SQUARES)
for(int i = 2; i <= n; i++){
cnt[i] = cnt[i - 1] + 1;
for(int j = 1; j*j <= i; j++){
cnt[i] = min(cnt[i], cnt[i - j*j] + 1);
}
}
2579 (계단 오르기)
//계단의 합
int sum[MAXN];
sum[0] = curr[0];
sum[1] = curr[0] + curr[1];
sum[2] = max(curr[1] + curr[2], curr[0] + curr[2]);
for(int i = 3; i < n; i++){
sum[i] = sum[i - 3] + curr[i - 1] + curr[i];
sum[i] = max(sum[i], sum[i - 2] + curr[i]);
}
728x90
'백준으로 C++ 공부하기' 카테고리의 다른 글
C++ 공부 17일차 (9461, 11399, 11659, 11726, 11727) (0) | 2021.11.08 |
---|---|
C++ 공부 16일차 (2606, 2630, 9095, 9375) (0) | 2021.11.07 |
C++ 공부 14일차 (17626. 1620, 17219, 1764) (0) | 2021.11.05 |
C++ 공부 13일차 (1966, 2805, 1929) (0) | 2021.11.04 |
C++ 공부 12일차 (18111, 2805) (0) | 2021.11.03 |
Comments