๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

DP7

[java ๋ฐฑ์ค€] ์‹ค๋ฒ„ 1/ 11052๋ฒˆ ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ https://www.acmicpc.net/problem/11052 11052๋ฒˆ: ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋ฏผ๊ทœ๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000) ๋‘˜์งธ ์ค„์—๋Š” Pi๊ฐ€ P1๋ถ€ํ„ฐ PN๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 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 32 33 34 35 36 37 import java.util.Scanner; public class Main { public static int n; public static int[] arr; public static int[] dp; public st.. 2021. 8. 10.
[DP๊ธฐ์ดˆ] ํ•„์š”ํ•œ ๋™์ „์˜ ์ตœ์†Œ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ 2์›,3์›,5์›์˜ ๋™์ „์ด ์žˆ๊ณ  ์ด ๋™์ „๋“ค์„ ์กฐํ•ฉํ•ด์„œ ์ตœ์†Œ๊ฐœ์ˆ˜๋กœ ๊ทธ ํ•ฉ์ด 11์ด ๋‚˜์˜ค๊ฒŒ ํ•ด๋ณด์ž. 5์›x1+3์›x2+2์›x0 =11 -->3 5x1 + 3x0 + 2x3 =11 -->4 5x0 + 3x1 + 2x4 =11 -->5 5x0 + 3x3 + 2x1 =11 -->4 ๊ทธ๋Ÿฌ๋ฉด ์ตœ์†Œ๊ฐœ์ˆ˜๋Š” 3์ด๋‹ค. f(11)์˜ ๊ฒฝ์šฐ 11์—์„œ 2๋ฅผ ๋บ€ f(9) 11์—์„œ 3์„ ๋บ€ f(8) 11์—์„œ 5๋ฅผ ๋บ€ f(6) ์œผ๋กœ subproblem๋“ค์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. f(11)=Math.min(f(9),f(8),f(6))+1 ์ด๊ฒƒ์„ ์ผ๋ฐ˜ํ™”ํ•˜๋ฉด f(n)=Math.min(f(n-2),f(n-3),f(n-5))+1 f(0)=0 f(1)์€ 1์›์งœ๋ฆฌ ๋™์ „์ด ์—†์œผ๋ฏ€๋กœ ํŠน์ˆ˜ ์ผ€์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— -1 f(2)๋Š” 2์›์งœ๋ฆฌ ๋™์ „์ด ์žˆ์œผ๋ฏ€๋กœ 1 f(3)์€.. 2021. 8. 6.
[DP๊ธฐ์ดˆ] ๊ณ„๋‹จ์˜ค๋ฅด๊ธฐ ์ฝ”๋“œ์—†๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‹˜์˜ DP๊ฐ•์˜ ์ค‘ ์ตœ์†Œ๋น„์šฉ ๊ณ„๋‹จ์˜ค๋ฅด๊ธฐ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค https://www.youtube.com/watch?v=lhZTYwHgrDM&list=PLDV-cCQnUlIa0owhTLK-VT994Qh6XTy4v&index=3 ๊ณ„๋‹จ์ด n๊ฐœ๊นŒ์ง€ ์žˆ์„ ๋•Œ, n์ธต์— ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ f(n)=f(n-1)+f(n-2)์ด๋‹ค. f(1)=1 f(2)=2 --> ํ•œ์นธ ์”ฉ, ํ•œ๋ฒˆ์— ์˜ฌ๋ผ๊ฐ€๋Š” f(3)=3 ๋“ฑ๋“ฑ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๊ฐ€์žฅ ์ตœ์†Œ๋น„์šฉ์œผ๋กœ ๊ณ„๋‹จ์„ ์˜ฌ๋ผ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. [1,2,4,6,2] ์˜ 5์ธต์˜ ๊ณ„๋‹จ์ด ์žˆ๋‹ค. f(0)=0+1์ด๋‹ค ์™œ๋ƒํ•˜๋ฉด ๋ฐ”๋‹ฅ์—์„œ ํ•œ๋ฒˆ์— ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๊ณ , arr[0]=1(์—ฌ๊ธฐ์„œ arr[0]์€ 0์ธต์˜ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ„) ์ด๋ฏ€๋กœ 0+1=1์ด๋‹ค. f(1)=0์ด๋‹ค. ์–˜๋„ ๋ฐ”๋‹ฅ์—์„œ .. 2021. 8. 6.
[java ๋ฐฑ์ค€] ์‹ค๋ฒ„ 2/ 11055๋ฒˆ ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด https://www.acmicpc.net/problem/11055 11055๋ฒˆ: ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ์ˆ˜์—ด์˜ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘์—์„œ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ๊ฒƒ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ธ ๊ฒฝ์šฐ์— ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜ www.acmicpc.net 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 import java.util.Scanner; public class Main { pub.. 2021. 8. 5.
728x90
๋ฐ˜์‘ํ˜•