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

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 1516๋ฒˆ: ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ์ฒซ์งธ ์ค„์— ๊ฑด๋ฌผ์˜ ์ข…๋ฅ˜ ์ˆ˜ N(1 ≤ N ≤ 500)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๊ฑด๋ฌผ์„ ์ง“๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ๊ทธ ๊ฑด๋ฌผ์„ ์ง“๊ธฐ ์œ„ํ•ด ๋จผ์ € ์ง€์–ด์ ธ์•ผ ํ•˜๋Š” ๊ฑด๋ฌผ๋“ค์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฑด๋ฌผ์˜ ๋ฒˆํ˜ธ๋Š” 1๋ถ€ www.acmicpc.net ๐Ÿง‘‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ๋™์  ๊ณ„ํš๋ฒ•(Dynamic Programming)๊ณผ ์œ„์ƒ ์ •๋ ฌ(Topological Sort)๋ฅผ ์‚ฌ์šฉํ•ด ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„์ž… ์ฐจ์ˆ˜๊ฐ€ 0์ธ ๋…ธ๋“œ(v)์—์„œ ๋‹ค๋ฅธ ์ธ์ ‘ ๋…ธ๋“œ(other)๋กœ ํ–ฅํ•  ๋•Œ, ๋‹ค์Œ ๋กœ์ง๋งŒ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. *constructionTimes[i] : i ๋ฒˆ์งธ ๊ฑด๋ฌผ์˜ ๊ฑด์„ค ์‹œ๊ฐ„ *answers[i] : ๋จผ์ € ์ง€์–ด์•ผ ํ•˜๋Š” ๊ฑด๋ฌผ์„ ์ง“๊ณ  ๋‚œ ํ›„, i ๋ฒˆ์งธ ๊ฑด๋ฌผ๊นŒ์ง€ ์ง“๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ตœ์†Œ ์‹œ๊ฐ„ answers[o..

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

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ 1766๋ฒˆ: ๋ฌธ์ œ์ง‘ ์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์˜ ์ˆ˜ N(1 ≤ N ≤ 32,000)๊ณผ ๋จผ์ € ํ‘ธ๋Š” ๊ฒƒ์ด ์ข‹์€ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ •๋ณด์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋‘ ์ •์ˆ˜์˜ ์ˆœ์„œ์Œ A,B๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ www.acmicpc.net ๐Ÿง‘‍๐Ÿ’ปํ’€์ด ๊ณผ์ • ์œ„์ƒ ์ •๋ ฌ(Topological Sort)์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•œ ํ›„, ํ’€์–ด๋ณด๋ ค๊ณ  ๊ณจ๋ž๋˜ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์œ„์ƒ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ทธ๋Œ€๋กœ ์ ์šฉํ•˜๋˜, ์‰ฌ์šด ๋ฌธ์ œ๋ถ€ํ„ฐ ํ’€์–ด์•ผ ํ•˜๋‹ˆ ์šฐ์„ ์ˆœ์œ„ ํ(Priority Queue)๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋์ธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด ์™ธ์—๋Š” ๋” ์ด์ƒ ์„ค๋ช…ํ•  ๋‚ด์šฉ์ด ์ง„์งœ๋กœ ์—†๊ธฐ์—, ์•„๋ž˜์— ์ฝ”๋“œ๋ฅผ ์ฒจ๋ถ€ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. โœ๏ธ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๊ฒฐ๊ณผ #include #include #include..

๐Ÿค–Algorithm/BOJ 2023. 12. 19. 14:22