[c++] BOJ 18240 :: ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ๋ณต์›ํ•˜๊ธฐ
Algorithm ๋ฌธ์ œ/BOJ 2021. 7. 11. 22:58

๋‚œ์ด๋„ : ๊ณจ๋“œ 2 ๋ฌธ์ œ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ๋ณต์›ํ•˜๊ธฐ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๋ชจ๋“  ์ •์ˆ˜๋ฅผ ํ•œ ๋ฒˆ์”ฉ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ์ˆ˜์—ด A1, A2, ..., AN์ด ์žˆ๋‹ค. ๊ฐ’์ด A1์ธ ๋…ธ๋“œ๋ฅผ ๋ฃจํŠธ๋กœ ํ•˜๋Š” ํŠธ๋ฆฌ์— A2, A3, ..., AN ์„ ์ˆœ์„œ๋Œ€๋กœ ์‚ฝ์ž…ํ•˜๋ ค ํ•œ๋‹ค. N-1๊ฐœ์˜ ๋…ธ๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ๋งˆ๋‹ค ๋ฃจํŠธ์—์„œ ๊ทธ ๋…ธ๋“œ์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฑฐ์ณ์•ผ ํ•˜๋Š” ๊ฐ„์„ ์˜ ์ˆ˜, ์ฆ‰ ๋…ธ๋“œ์˜ ๊นŠ์ด๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ A1, A2, ..., AN์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ํ’€์ด ๊ฐ’ ๋ฐ›์œผ๋ฉด์„œ 2N(n-1)children.size() > 0) { // ์™ผ์ชฝ ์ž์‹ ์กด์žฌ Inorder(head->children[0]); } result[head->index] = idx++; if (head->children.size() > 1) { // ์˜ค๋ฅธ์ชฝ ์ž์‹ ..

[c++] BOJ 19535 :: ใ„ทใ„ทใ„ทใ…ˆ
Algorithm ๋ฌธ์ œ/BOJ 2021. 7. 11. 22:56

๋‚œ์ด๋„ : ๊ณจ๋“œ 3 ๋ฌธ์ œ ใ„ทใ„ทใ„ทใ…ˆ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ์ •์ ์ด ๋„ค ๊ฐœ ์ด์ƒ ์žˆ๋Š” ์ž„์˜์˜ ํŠธ๋ฆฌ์— ๋Œ€ํ•ด, ๊ทธ ํŠธ๋ฆฌ์—์„œ ์ •์  ๋„ค ๊ฐœ๋กœ ์ด๋ฃจ์–ด์ง„ ์ง‘ํ•ฉ์„ ๊ณ ๋ฅด์ž. ์ „์ฒด ํŠธ๋ฆฌ์˜ ๊ฐ„์„ ๋“ค ์ค‘ ์ง‘ํ•ฉ์— ์†ํ•œ ๋‘ ์ •์ ์„ ์ž‡๋Š” ๊ฐ„์„ ๋งŒ์„ ๋‚จ๊ฒผ์„ ๋•Œ, ๋„ค ๊ฐœ์˜ ์ •์ ์ด ํ•˜๋‚˜์˜ ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ์ด์–ด์ง€๊ฒŒ ๋œ๋‹ค๋ฉด ‘ใ„ท’ ๋ชจ์–‘์ด๊ฑฐ๋‚˜ ‘ใ…ˆ’ ๋ชจ์–‘์ผ ๊ฒƒ์ด๋‹ค. ํŠธ๋ฆฌ์—์„œ ‘ใ„ท’์˜ ๊ฐœ์ˆ˜์™€ ‘ใ…ˆ’์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ๊ฐ ํŠธ๋ฆฌ์—์„œ ‘ใ„ท’ ๋ชจ์–‘, ‘ใ…ˆ’ ๋ชจ์–‘์„ ์ด๋ฃจ๋Š” ์ •์  ๋„ค ๊ฐœ์งœ๋ฆฌ ์ง‘ํ•ฉ์˜ ๊ฐœ์ˆ˜๋ผ๊ณ  ํ•˜์ž. ์ด์ œ, ๋™ํ˜„์ด๋Š” ์„ธ์ƒ์˜ ๋ชจ๋“  ํŠธ๋ฆฌ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ์ข…๋ฅ˜๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค. D-ํŠธ๋ฆฌ : ‘ใ„ท’์ด ‘ใ…ˆ’์˜ 3๋ฐฐ๋ณด๋‹ค ๋งŽ์€ ํŠธ๋ฆฌ G-ํŠธ๋ฆฌ : ‘ใ„ท’์ด ‘ใ…ˆ’์˜ 3๋ฐฐ๋ณด๋‹ค ์ ์€ ํŠธ๋ฆฌ DUDUDUNGA-ํŠธ๋ฆฌ : ‘ใ„ท’์ด ‘ใ…ˆ’์˜ ์ •ํ™•ํžˆ 3๋ฐฐ๋งŒํผ ์žˆ๋Š” ํŠธ๋ฆฌ ์‹ ์ด ๋‚œ ๋™ํ˜„์ด๋Š” ํŠธ๋ฆฌ๋งŒ ๋ณด..

[c++] BOJ 1987 :: ์•ŒํŒŒ๋ฒณ
Algorithm ๋ฌธ์ œ/BOJ 2021. 4. 28. 21:31

๋‚œ์ด๋„ : ๊ณจ๋“œ 4 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 40๋ถ„ ๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 2 ์ดˆ 256 MB 49866 15734 9600 29.155% ์„ธ๋กœ R์นธ, ๊ฐ€๋กœ C์นธ์œผ๋กœ ๋œ ํ‘œ ๋ชจ์–‘์˜ ๋ณด๋“œ๊ฐ€ ์žˆ๋‹ค. ๋ณด๋“œ์˜ ๊ฐ ์นธ์—๋Š” ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์ด ํ•˜๋‚˜์”ฉ ์ ํ˜€ ์žˆ๊ณ , ์ขŒ์ธก ์ƒ๋‹จ ์นธ (1ํ–‰ 1์—ด) ์—๋Š” ๋ง์ด ๋†“์—ฌ ์žˆ๋‹ค. ๋ง์€ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•œ ๋„ค ์นธ ์ค‘์˜ ํ•œ ์นธ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ƒˆ๋กœ ์ด๋™ํ•œ ์นธ์— ์ ํ˜€ ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ์€ ์ง€๊ธˆ๊นŒ์ง€ ์ง€๋‚˜์˜จ ๋ชจ๋“  ์นธ์— ์ ํ˜€ ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ๊ณผ๋Š” ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค. ์ฆ‰, ๊ฐ™์€ ์•ŒํŒŒ๋ฒณ์ด ์ ํžŒ ์นธ์„ ๋‘ ๋ฒˆ ์ง€๋‚  ์ˆ˜ ์—†๋‹ค. ์ขŒ์ธก ์ƒ๋‹จ์—์„œ ์‹œ์ž‘ํ•ด์„œ, ๋ง์ด ์ตœ๋Œ€ํ•œ ๋ช‡ ์นธ์„ ์ง€๋‚  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ง์ด ์ง€๋‚˜๋Š” ์นธ์€ ์ขŒ์ธก ์ƒ๋‹จ์˜ ์นธ๋„ ํฌํ•จ๋œ๋‹ค. ํ’€..

[c++] BOJ 1753 :: ์ตœ๋‹จ๊ฒฝ๋กœ
Algorithm ๋ฌธ์ œ/BOJ 2021. 4. 6. 13:08

๋‚œ์ด๋„ : ๊ณจ๋“œ 5 ๊ฑธ๋ฆฐ ์‹œ๊ฐ„ : 1์‹œ๊ฐ„ ๋ฐ˜ ์ด์ƒ (์˜ค๋ฅ˜ ์ฐพ๊ธฐ) ๋ฌธ์ œ ์ตœ๋‹จ๊ฒฝ๋กœ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ํ’€์ด ๋‹ค์ต์ŠคํŠธ๋ผ ๊ธฐ๋ณธ ๊ตฌํ˜„์„ ์ด์šฉํ•ด์„œ ํ‘ผ๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ๊ฐœ๋… ๋ฐ”๋กœ๊ฐ€๊ธฐ ์ฝ”๋“œ #include #include #include using namespace std; int main() { // ์ž…๋ ฅ // v, e๋Š” 10^5, 10^6์ดํ•˜ int V; int E; cin >> V >> E; int start; // ์‹œ์ž‘ ์ •์  cin >> start; vector edge(V+1, vector(0)); for (int i = 0; i > from >> to >> val; edge[from].push_back(make_pair(to..

[c++]๋ฐฑ์ค€ 17836๋ฒˆ : ๊ณต์ฃผ๋‹˜์„ ๊ตฌํ•ด๋ผ!
Algorithm ๋ฌธ์ œ/BOJ 2020. 3. 21. 12:31

๋ฌธ์ œ : ๋ฐฑ์ค€ 17836๋ฒˆ _ ๊ณต์ฃผ๋‹˜์„ ๊ตฌํ•ด๋ผ! https://www.acmicpc.net/problem/17836 ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 1 ์ดˆ 256 MB 2465 566 431 21.923% ๋ฌธ์ œ ์šฉ์‚ฌ๋Š” ๋งˆ์™•์ด ์ˆจ๊ฒจ๋†“์€ ๊ณต์ฃผ๋‹˜์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด (N, M) ํฌ๊ธฐ์˜ ์„ฑ ์ž…๊ตฌ (1,1)์œผ๋กœ ๋“ค์–ด์™”๋‹ค. ๋งˆ์™•์€ ์šฉ์‚ฌ๊ฐ€ ๊ณต์ฃผ๋ฅผ ์ฐพ์ง€ ๋ชปํ•˜๋„๋ก ์„ฑ์˜ ์—ฌ๋Ÿฌ ๊ตฐ๋ฐ ๋งˆ๋ฒ• ๋ฒฝ์„ ์„ธ์›Œ๋†“์•˜๋‹ค. ์šฉ์‚ฌ๋Š” ํ˜„์žฌ์˜ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฌด๊ธฐ๋กœ๋Š” ๋งˆ๋ฒ• ๋ฒฝ์„ ํ†ต๊ณผํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋งˆ๋ฒ• ๋ฒฝ์„ ํ”ผํ•ด (N, M) ์œ„์น˜์— ์žˆ๋Š” ๊ณต์ฃผ๋‹˜์„ ๊ตฌ์ถœํ•ด์•ผ๋งŒ ํ•œ๋‹ค. ๋งˆ์™•์€ ์šฉ์‚ฌ๋ฅผ ๊ดด๋กญํžˆ๊ธฐ ์œ„ํ•ด ๊ณต์ฃผ์—๊ฒŒ ์ €์ฃผ๋ฅผ ๊ฑธ์—ˆ๋‹ค. ์ €์ฃผ์— ๊ฑธ๋ฆฐ ๊ณต์ฃผ๋Š” T์‹œ๊ฐ„ ์ด๋‚ด๋กœ ์šฉ์‚ฌ๋ฅผ ๋งŒ๋‚˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด ์˜์›ํžˆ ๋Œ๋กœ ๋ณ€ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ณต์ฃผ๋‹˜์„ ๊ตฌ์ถœํ•˜๊ณ  ํ”„๋Ÿฌํฌ์ฆˆ ํ•˜๊ณ  ..

[python]๋ฐฑ์ค€ 17827๋ฒˆ: ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ
Algorithm ๋ฌธ์ œ/BOJ 2020. 3. 13. 14:41

๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 1 ์ดˆ 256 MB 597 219 175 40.984% ๋ฌธ์ œ ์˜์ง„์ด๋Š” ๋‹ฌํŒฝ์ด๋ฅผ ์ข‹์•„ํ•œ๋‹ค. ๋‹ฌํŒฝ์ด๋ฅผ ๋„ˆ๋ฌด๋„ˆ๋ฌด ์ข‹์•„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ •ํ•œ ๋ชจ์–‘์˜ ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์— ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ๋ผ๋Š” ์ด๋ฆ„์„ ๋ถ™์—ฌ์ฃผ์—ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์„ ํ˜• ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ ๋…ธ๋“œ ๋ฒˆํ˜ธ๋ฅผ ์—ฐ๊ฒฐ๋œ ์ˆœ์„œ๋Œ€๋กœ 1, 2, ..., N์ด๋ผ ํ•˜์ž. ์ด๋•Œ N๋ฒˆ ๋…ธ๋“œ๋Š” ์•„๋ฌด ๋…ธ๋“œ๋„ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ N๋ฒˆ ๋…ธ๋“œ๊ฐ€ 1๋ฒˆ ๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•œ ์ž„์˜์˜ ๋…ธ๋“œ๋ฅผ ๊ฐ€๋ฆฌ์ผœ ์‚ฌ์ดํด์„ ์ด๋ฃจ๊ฒŒ ๋˜๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ๋ผ๊ณ  ํ•œ๋‹ค. ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ ๋…ธ๋“œ๋‹น ํ•˜๋‚˜์˜ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ฆ‰, ๋‹ฌํŒฝ์ด ๋ฆฌ์ŠคํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ƒ๊ธด ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์ด๋‹ค. ๋…ธ๋“œ ์•ˆ์˜ ์ˆ˜๋Š” ์ €์žฅ๋œ ๊ฐ’์„ ๋œปํ•œ๋‹ค. "๋‹ฌํŒฝ์•„ ๋‹ฌํŒฝ์•„ 1๋ฒˆ ๋…ธ๋“œ๋ถ€ํ„ฐ ํ•œ ์นธ์”ฉ..