๐Ÿค–Algorithm ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ

ํ•ด๋‹น ๊ธ€ 125๊ฑด

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 2357๋ฒˆ: ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’ N(1 ≤ N ≤ 100,000)๊ฐœ์˜ ์ •์ˆ˜๋“ค์ด ์žˆ์„ ๋•Œ, a๋ฒˆ์งธ ์ •์ˆ˜๋ถ€ํ„ฐ b๋ฒˆ์งธ ์ •์ˆ˜๊นŒ์ง€ ์ค‘์—์„œ ์ œ์ผ ์ž‘์€ ์ •์ˆ˜, ๋˜๋Š” ์ œ์ผ ํฐ ์ •์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์€ ์–ด๋ ค์šด ์ผ์ด ์•„๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์™€ ๊ฐ™์€ a, b์˜ ์Œ์ด M(1 ≤ M ≤ 100 www.acmicpc.net ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ(Segment Tree) ์ฒซ ์ž…๋ฌธ ๋ฌธ์ œ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ์‹œ๋„๊ณ , ์กฐ๊ธˆ ๋ณ€ํ˜•๋œ ๋ฌธ์ œ์ธ์ง€๋ผ ๊ฒฐ๊ตญ ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ’€์—ˆ์ง€๋งŒ, ์„ธ๊ทธ๋จผํŠธ ํŠธ๋ฆฌ๋ผ๋Š” ๊ฐœ๋…๊ณผ ์–ด๋Š์ •๋„ ์นœ์ˆ™ํ•ด์ง„ ๊ทธ๋Ÿฐ ๊ณ„๊ธฐ๊ฐ€ ์•„๋‹ˆ์—ˆ๋‚˜ ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ๋Š๋‚€ ๊ฑฐ์ง€๋งŒ, ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋“ค์„ ์ ‘ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒŒ ๋˜๊ฒŒ ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„์ง ์ ‘ํ•ด๋ณด๊ณ  ํ’€์–ด๋ด์•ผ ํ•  ๋ฌธ์ œ๋“ค์ด ๋งŽ์ง€๋งŒ ํ•˜๋‚˜์”ฉ ์ฒœ์ฒœํžˆ ํ•ด๋ด์•ผ์ฃ ...

๐Ÿค–Algorithm/BOJ 2024. 1. 24. 15:53

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿง‘๐Ÿป‍๐Ÿ’ป ํ’€์ด ๊ณผ์ • [1์ฐจ ์‹œ๋„] ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์‹คํŒจ) ์ถœ๋ฐœ์ง€(s)๋กœ๋ถ€ํ„ฐ ๊ฐ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ตœ๋‹จ ๊ฒฝ๋กœ ๋ฐฐ์—ด์„ ๊ตฌํ•ด๋†“๊ณ , ๊ฐ ๋…ธ๋“œ(i)๋งˆ๋‹ค ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ ค์„œ s๐Ÿ‘‰๐Ÿปi + i๐Ÿ‘‰๐Ÿปa + i๐Ÿ‘‰๐Ÿปb ๊ฐ’๋“ค ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ์˜ ๊ฐœ์ˆ˜(N)๊ฐ€ ์ตœ๋Œ€ 200๊ฐœ๋ผ ๋  ์ค„ ์•Œ์•˜๋Š”๋ฐ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚˜๋”๊ตฐ์š”. [2์ฐจ ์‹œ๋„] ํ”Œ๋กœ์ด๋“œ ์›Œ์…œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (์„ฑ๊ณต) ๋งค ๋…ธ๋“œ๋งˆ๋‹ค ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ฆฐ ๊ฒƒ์ด ์›์ธ์ด๋ผ ์ƒ๊ฐ๋˜์–ด, ๋ชจ๋“  ๋…ธ๋“œ ๊ฐ„์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š”..

๐Ÿค–Algorithm/Programmers 2024. 1. 16. 16:58

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๐Ÿง‘‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•˜์—ฌ ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชฉ์ ์ง€(Destination)๋ฅผ ์‹œ์ž‘์ ์œผ๋กœ ํ•˜์—ฌ ๊ฐ ์ง€์—ญ์— ๋Œ€ํ•œ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๋ฐฐ์—ด์„ ๊ตฌํ•˜๊ณ , ์ถœ๋ฐœ์ง€(source)๋“ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’๋“ค์„ answer ๋ฐฐ์—ด์— ๋‹ด์•„์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์–ด๋–ค ์ถœ๋ฐœ์ง€์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ๊ฐ’์ด ์ดˆ๊นƒ๊ฐ’๊ณผ ๊ฐ™๋‹ค๋ฉด, ๊ทธ ์ง€์—ญ์€ ๋ชป ๊ฐ„๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ -1์„ ๋‹ด์•„์ฃผ๋ฉด ๋˜๊ตฌ์š”. ๋˜ํ•œ, ๋ชจ๋“  ์ง€์—ญ ๊ฐ„์˜ ์ด๋™ ๋น„์šฉ์ด 1์ด๋ฏ€๋กœ, ์šฐ์„ ์ˆœ์œ„ ํ ๋Œ€์‹  ์ผ๋ฐ˜ ํ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐ„์„ ์ค„์˜€์Šต๋‹ˆ๋‹ค. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include ..

๐Ÿค–Algorithm/Programmers 2024. 1. 13. 11:27

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 2637๋ฒˆ: ์žฅ๋‚œ๊ฐ ์กฐ๋ฆฝ ์ฒซ์งธ ์ค„์—๋Š” ์ž์—ฐ์ˆ˜ N(3 ≤ N ≤ 100)์ด ์ฃผ์–ด์ง€๋Š”๋ฐ, 1๋ถ€ํ„ฐ N-1๊นŒ์ง€๋Š” ๊ธฐ๋ณธ ๋ถ€ํ’ˆ์ด๋‚˜ ์ค‘๊ฐ„ ๋ถ€ํ’ˆ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , N์€ ์™„์ œํ’ˆ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋‹ค์Œ ์ค„์—๋Š” ์ž์—ฐ์ˆ˜ M(3 ≤ M ≤ 100)์ด ์ฃผ www.acmicpc.net ๐Ÿ‘จ‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์œ„์ƒ ์ •๋ ฌ๊ณผ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด ํ’€์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” DFS๋กœ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹จ ์ƒ๊ฐ์— ๋„์ „ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ค‘๋ณต๋˜๋Š” ๊ณ„์‚ฐ์ด ๋„ˆ๋ฌด ๋งŽ์•„ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚  ๊ฒƒ ๊ฐ™๋‹จ ์ƒ๊ฐ์ด ๋“ค์–ด ๊ทธ ํ’€์ด๋Š” ํฌ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌดํŠผ, ์ œ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ’€์—ˆ๋Š”์ง€ ์ฒœ์ฒœํžˆ ์„ค๋ช…ํ•ด ๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ๊ฐ„์„  ์ •๋ณด ๋ฐ ์ง„์ž… ์ฐจ์ˆ˜ ์„ค์ • ํ•˜์œ„ ๋ถ€ํ’ˆ์—์„œ ์ƒ์œ„ ๋ถ€ํ’ˆ์œผ๋กœ ๊ฐ„์„ ์ด ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๋ฐฉํ–ฅ์„ ์„ค์ •ํ•˜์˜€๊ณ , ํ•„์š”ํ•œ ๋ถ€ํ’ˆ ๊ฐœ์ˆ˜ ์ •๋ณด๋„ ๊ฐ™์ด ..

๐Ÿค–Algorithm/BOJ 2023. 12. 21. 16:48

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 11779๋ฒˆ: ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ 2 ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ๊ฐœ์ˆ˜ n(1≤n≤1,000)์ด ์ฃผ์–ด์ง€๊ณ  ๋‘˜์งธ ์ค„์—๋Š” ๋ฒ„์Šค์˜ ๊ฐœ์ˆ˜ m(1≤m≤100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์…‹์งธ ์ค„๋ถ€ํ„ฐ m+2์ค„๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฒ„์Šค์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ฒ˜์Œ์—๋Š” ๊ทธ ๋ฒ„์Šค www.acmicpc.net ๐Ÿง‘‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๊ธฐ๋ณธ์ ์ธ ํ‹€์€ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ๋ฐ, ์ตœ๋‹จ ๊ฒฝ๋กœ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ ๋„์‹œ๋“ค ๋ฒˆํ˜ธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ €์žฅํ•  ์ง€๊ฐ€ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ๋ถ„๊ธฐ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฐ ๊ฒฝ๋กœ๋งˆ๋‹ค ์ž๊ธฐ๊ฐ€ ๊ฑฐ์ณ ์˜จ ๋„์‹œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„๊นŒ ์ƒ๊ฐํ–ˆ๋‹ค๊ฐ€, ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ๋“ค ๊ฒƒ์€ ๋ฌผ๋ก  ๋ณต์‚ฌ ๋น„์šฉ์ด ๋งŒ๋งŒ์น˜ ์•Š์„ ๊ฒƒ ๊ฐ™์•„ ํฌ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒฐ๊ตญ ๋‹ค๋ฅธ ๋ถ„์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ–ˆ๋Š”๋ฐ, ๋ฐฐ์—ด์„ ํ†ตํ•ด ์ด์ „ ๋…ธ๋“œ๋กœ ๊ฐ€๋Š” ๊ธธ์„ ์ถ”์ ํ•˜๋Š” ์ฐธ์‹ ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‘ธ์…”์„œ ๋†€๋ž..

๐Ÿค–Algorithm/BOJ 2023. 12. 20. 15:31

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 2623๋ฒˆ: ์Œ์•…ํ”„๋กœ๊ทธ๋žจ ์ฒซ์งธ ์ค„์—๋Š” ๊ฐ€์ˆ˜์˜ ์ˆ˜ N๊ณผ ๋ณด์กฐ PD์˜ ์ˆ˜ M์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ€์ˆ˜๋Š” ๋ฒˆํ˜ธ 1, 2,…,N ์œผ๋กœ ํ‘œ์‹œํ•œ๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ๊ฐ ๋ณด์กฐ PD๊ฐ€ ์ •ํ•œ ์ˆœ์„œ๋“ค์ด ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๋‚˜์˜จ๋‹ค. ๊ฐ ์ค„์˜ ๋งจ ์•ž์—๋Š” ๋ณด์กฐ PD๊ฐ€ ๋‹ด๋‹นํ•œ www.acmicpc.net ๐Ÿง‘‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์œ„์ƒ ์ •๋ ฌ์„ ์‚ฌ์šฉํ•ด ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ธ๋ฐ, ์‚ฌ์ดํด(Cycle) ๊ฐ์ง€ ์กฐ๊ฑด์„ ํ•˜๋‚˜ ๋” ๋„ฃ์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ˆœ์„œ๋ฅผ ์ •ํ•˜๋Š” ๊ฒŒ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๋Š” ๊ฐ ๊ฐ€์ˆ˜๋“ค์˜ ์ˆœ์„œ์— ์‚ฌ์ดํด์ด ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋Œ๊ธฐ ์ „์— ํ(Queue)๊ฐ€ ๋น„์—ˆ์„ ๊ฒฝ์šฐ๋กœ ํƒ์ง€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include #include using namespace std; #define FAST_IO..

๐Ÿค–Algorithm/BOJ 2023. 12. 19. 15:48