๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/DP19

[๋ฐฑ์ค€]1520๋ฒˆ: ๋‚ด๋ฆฌ๋ง‰ ๊ธธ https://www.acmicpc.net/problem/1520 1520๋ฒˆ: ๋‚ด๋ฆฌ๋ง‰ ๊ธธ ์—ฌํ–‰์„ ๋– ๋‚œ ์„ธ์ค€์ด๋Š” ์ง€๋„๋ฅผ ํ•˜๋‚˜ ๊ตฌํ•˜์˜€๋‹ค. ์ด ์ง€๋„๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ด๋ฉฐ ์—ฌ๋Ÿฌ ์นธ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋‹ค. ํ•œ ์นธ์€ ํ•œ ์ง€์ ์„ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ ๊ฐ ์นธ์—๋Š” ๊ทธ ์ง€์ ์˜ ๋†’์ด๊ฐ€ ์“ฐ์—ฌ ์žˆ์œผ www.acmicpc.net ์ด๊ฑฐ... ๋‚˜ํ•œํ…Œ๋Š” ๋„ˆ๋ฌด ์–ด๋ ค์› ๋‹ค... ์˜ค๋ž˜ ๊ณ ๋ฏผํ•˜๊ณ  ํžŒํŠธ ๋ด๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์–ด์„œ ๋‹ค๋ฅธ ๋ถ„๋“ค ํ’€์ด๋ฅผ ์•„์ฃผ ๋งŽ์ด ์ฐธ๊ณ ํ–ˆ์Œ ๋‹ค๋ฅธ ๋ถ„๋“ค ํ’€์ด ๋ณผ๋•Œ์—๋„ ์ดํ•ดํ•˜๋Š” ๋ฐ ์ข€ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹น...ใ…Ž ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด ์ด ๋ฌธ์ œ๋Š” dfs + dp ๋ฌธ์ œ๋‹ค ํ˜„์žฌ ์นธ์œผ๋กœ๋ถ€ํ„ฐ ๋„์ฐฉ์ ๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ๊ฒฝ๋กœ์˜ ์ˆ˜๋Š” ์ธ์ ‘ํ•œ ์นธ(์ƒํ•˜์ขŒ์šฐ, ์ตœ๋Œ€ 4๊ฐœ)์„ ์‹œ์ž‘์ ์œผ๋กœ ๋„์ฐฉ์ ๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ๊ฒฝ๋กœ์˜ ์ˆ˜๋“ค์˜ ํ•ฉ์ด๋‹ค. ๊ฐ ์นธ์„ ์‹œ์ž‘์ ์œผ๋กœ ๋„์ฐฉ์ ๊นŒ์ง€ ์ด๋™ํ•  .. 2023. 2. 17.
[๋ฐฑ์ค€]1890๋ฒˆ: ์ ํ”„ https://www.acmicpc.net/problem/1890 1890๋ฒˆ: ์ ํ”„ ์ฒซ์งธ ์ค„์— ๊ฒŒ์ž„ ํŒ์˜ ํฌ๊ธฐ N (4 ≤ N ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ ๋‹ค์Œ N๊ฐœ ์ค„์—๋Š” ๊ฐ ์นธ์— ์ ํ˜€์ ธ ์žˆ๋Š” ์ˆ˜๊ฐ€ N๊ฐœ์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์นธ์— ์ ํ˜€์žˆ๋Š” ์ˆ˜๋Š” 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 9๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋ฉฐ, ๊ฐ€์žฅ www.acmicpc.net ์ฒ˜์Œ์—๋Š” ๋ฐฉ๋ฌธํ–ˆ๋˜ ์ ์„ ํ์—๋‹ค๊ฐ€ ๋„ฃ์–ด๊ฐ€๋ฉด์„œ ๋‹จ์ˆœ ํƒ์ƒ‰์„ ํ–ˆ์—ˆ๋Š”๋ฐ ์ž๊พธ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋๋‹ค ์ฐพ์•„๋ณด๋‹ˆ๊นŒ ๋‹จ์ˆœํƒ์ƒ‰, dfs, bfs๋กœ ํ’€๋ฉด ์‹œ๊ฐ„์ด๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋‚˜๋Š” ๋ฌธ์ œ์˜€๋‹ค ๊ทธ๋ž˜์„œ dp๋กœ ํ’€์—ˆ์Œ!! #include using namespace std; int n; int arr[101][101]; long dp[101][101]; //๊ฒฝ๋กœ์˜ ๊ฐœ์ˆ˜๋Š” ์ตœ๋Œ€ 2^63 - 1 ๊นŒ์ง€๋‹ค. (int๋ฒ”.. 2023. 2. 14.
[๋ฐฑ์ค€]11048๋ฒˆ: ์ด๋™ํ•˜๊ธฐ https://www.acmicpc.net/problem/11048 11048๋ฒˆ: ์ด๋™ํ•˜๊ธฐ ์ค€๊ทœ๋Š” N×M ํฌ๊ธฐ์˜ ๋ฏธ๋กœ์— ๊ฐ‡ํ˜€์žˆ๋‹ค. ๋ฏธ๋กœ๋Š” 1×1ํฌ๊ธฐ์˜ ๋ฐฉ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๊ณ , ๊ฐ ๋ฐฉ์—๋Š” ์‚ฌํƒ•์ด ๋†“์—ฌ์ ธ ์žˆ๋‹ค. ๋ฏธ๋กœ์˜ ๊ฐ€์žฅ ์™ผ์ชฝ ์œ— ๋ฐฉ์€ (1, 1)์ด๊ณ , ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์•„๋žซ ๋ฐฉ์€ (N, M)์ด๋‹ค. ์ค€๊ทœ๋Š” www.acmicpc.net ๋„ˆ๋ฌด BFS ๋ฌธ์ œ์ฒ˜๋Ÿผ ์ƒ๊ฒผ์ง€๋งŒ bfs๋กœ ํ’€๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค ์ด ๋ฌธ์ œ๋Š” ํ•œ ์นธ์œผ๋กœ๋ถ€ํ„ฐ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์นธ์ด ์ตœ๋Œ€ 3๊ฐœ๋กœ ์ œํ•œ๋˜์–ด ์žˆ๊ณ , ์ตœ๋‹จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋„ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— dp๋กœ ํ’€๋ฉด ๋Œ„๋‹ค dp๋ฌธ์ œ์ธ๊ฑธ ์•Œ๊ณ  ํ’€๋ฉด ์•„์ฃผ ์‰ฝ๋‹ค ์ฒซ๋ฒˆ์งธ ์˜ˆ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ํ’€์–ด๋ณด์ž ๋ฐฐ์—ด์„ 2๊ฐœ ๋งŒ๋“ค์–ด์ค€๋‹ค. maze์—๋Š” ๋†“์—ฌ์žˆ๋Š” ์‚ฌํƒ• ์ˆ˜๋ฅผ, dp์—๋Š” ํš๋“ํ•œ ์‚ฌํƒ• ์ˆ˜์˜ ์ตœ๋Œ€๋ฅผ ์ €์žฅํ• ๊ฑฐ๋‹ค ํ•œ ์นธ์”ฉ ์ด๋™ํ•˜๋ฉด์„œ.. 2023. 2. 12.
[๋ฐฑ์ค€]10844๋ฒˆ: ์‰ฌ์šด ๊ณ„๋‹จ์ˆ˜ https://www.acmicpc.net/problem/10844 10844๋ฒˆ: ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜ ์ฒซ์งธ ์ค„์— ์ •๋‹ต์„ 1,000,000,000์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net dp๋ฌธ์ œ! i \ j 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 dp[i][j]์—์„œ i๋Š” ์ž๋ฆฟ์ˆ˜๋ฅผ, j๋Š” ์‹œ์ž‘ ์ˆซ์ž๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ์‹œ - dp[2][4] : 4๋กœ ์‹œ์ž‘ํ•˜๋Š” 2์ž๋ฆฌ ์ˆซ์ž. ์ด 2๊ฐœ (43,45) 1) ํ•œ์ž๋ฆฌ ์ˆซ์ž๋Š” ๋ชจ๋‘ ๊ณ„๋‹จ์ˆ˜ 2) n์ž๋ฆฌ ์ˆซ์ž 1๋กœ ์‹œ์ž‘ - 10xxxx... , 12xxxx... ๋‘๊ฐ€์ง€ ๊ฒฝ์šฐ ๊ฐ€๋Šฅ - ์ „์ž์˜ ๊ฒฝ์šฐ, ๊ณ„๋‹จ์ˆ˜๋ฅผ ๋งŒ๋“œ๋ ค๋ฉด 101xxxx... ๊ฐ€ ๋˜์–ด์•ผ ํ•จ - ๋”ฐ๋ผ์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” 1๋กœ ์‹œ์ž‘ํ•˜๋Š” n-2์ž๋ฆฌ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜์ธ๋ฐ ์ด ๊ฐ’์ด dp[i-.. 2023. 2. 11.
[๋ฐฑ์ค€] 11057๋ฒˆ : ์˜ค๋ฅด๋ง‰ ์ˆ˜ https://www.acmicpc.net/problem/11057 11057๋ฒˆ: ์˜ค๋ฅด๋ง‰ ์ˆ˜ ์˜ค๋ฅด๋ง‰ ์ˆ˜๋Š” ์ˆ˜์˜ ์ž๋ฆฌ๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์„ ์ด๋ฃจ๋Š” ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ์ด๋•Œ, ์ธ์ ‘ํ•œ ์ˆ˜๊ฐ€ ๊ฐ™์•„๋„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์นœ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 2234์™€ 3678, 11119๋Š” ์˜ค๋ฅด๋ง‰ ์ˆ˜์ด์ง€๋งŒ, 2232, 3676, 91111์€ ์˜ค๋ฅด๋ง‰ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ˆ˜ www.acmicpc.net DP ๋ฌธ์ œ!! ์กฐ๊ฑด์— ๋”ฐ๋ผ ์˜ค๋ฅด๋ง‰ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ณ„์‚ฐํ•ด๋ณด๋ฉด, 0์œผ๋กœ๋๋‚จ 1๋กœ๋๋‚จ 2๋กœ๋๋‚จ 3์œผ๋กœ๋๋‚จ 4๋กœ๋๋‚จ 5๋กœ๋๋‚จ 6์œผ๋กœ๋๋‚จ 7๋กœ๋๋‚จ 8๋กœ๋๋‚จ 9๋กœ๋๋‚จ 0 - - - - - - - - - - 1์ž๋ฆฌ์ˆซ์ž 1 1 1 1 1 1 1 1 1 1 2์ž๋ฆฌ์ˆซ์ž 1 2 3 4 5 6 7 8 9 10 3์ž๋ฆฌ์ˆซ์ž 1 3 6 10 15 21 28 36 45 55 ๊ทœ.. 2023. 2. 10.
[๋ฐฑ์ค€] 1463๋ฒˆ : 1๋กœ ๋งŒ๋“ค๊ธฐ https://www.acmicpc.net/problem/1463 1463๋ฒˆ: 1๋กœ ๋งŒ๋“ค๊ธฐ ์ฒซ์งธ ์ค„์— 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 106๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net ์ •์ˆ˜ N์„ 1๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์€ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€์ด๋‹ค. ํŽธ์˜์ƒ ์—ฐ์‚ฐ A, B, C๋ผ๊ณ  ํ•˜๊ฒ ๋‹ค ์—ฐ์‚ฐA N์ด 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 3์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. ์—ฐ์‚ฐB N์ด 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 2๋กœ ๋‚˜๋ˆˆ๋‹ค. ์—ฐ์‚ฐC 1์„ ๋บ€๋‹ค. ์ •์ˆ˜ N์ด 2์ธ ๊ฒฝ์šฐ ์—ฐ์‚ฐA: ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค ์—ฐ์‚ฐB: 2 / 1 = 1์ด๋ฏ€๋กœ 1์ด ๋งŒ๋“ค์–ด์ง„๋‹ค. (์—ฐ์‚ฐํšŸ์ˆ˜:1) ์—ฐ์‚ฐC: 2 - 1 = 1์ด๋ฏ€๋กœ 1์ด ๋งŒ๋“ค์–ด์ง„๋‹ค. (์—ฐ์‚ฐํšŸ์ˆ˜:1) ์ตœ์†Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋Š” 1์ด๋‹ค. ์ •์ˆ˜ N์ด 3์ธ ๊ฒฝ์šฐ ์—ฐ์‚ฐA: 3 / 1 = 1์ด๋ฏ€๋กœ 1์ด ๋งŒ๋“ค์–ด์ง„๋‹ค. (์—ฐ์‚ฐํšŸ์ˆ˜.. 2023. 1. 20.
728x90