![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmP3XP%2FbtqZSvN6tvf%2FQnEk2Wi0KrMJfqR6cQtmh1%2Fimg.png)
๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฐ ์ด์ ๋ฌธ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ์ค๋ต ์ฒ์์ ์์ ํ์์ผ๋ก ํ๋ ์ต๋ํ ์กฐํฉ์ ๋ฒ์๋ฅผ ์ค์ฌ์ ๊ตฌํํด๋ณด์๋ค. ํ์ง๋ง, ์๊ฐ ์ด๊ณผ๋ก ์คํจ..! #include #include #include #include using namespace std; // 6์ 4๋ถ ์์ => 6์ 42๋ถ ์ค๋จ, 11์ 12๋ถ ์์ => // N > K; for (int i = 0; i > w >> v; vec.push_back(make_pair(w, v)); } // ๋ฌด๊ฒ ์ ์ ๋ ฌ sort(vec.begin(), vec.end(), compare); // ๋ฌด๊ฒ๋ ๊ฐ์๋ฐ ๊ฐ์น๊ฐ ์์ ๊ฒ์ ์์ ๊ธฐ for (int i = 1; i < vec.size(..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FznpDO%2FbtqZoxrNtNO%2FVNW2gr1jWWk1u9klE5Lu9k%2Fimg.png)
๋์ด๋ : ๊ณจ๋ 3 ๊ฑธ๋ฆฐ ์๊ฐ : 50๋ถ ๋ฌธ์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ํ์ด ์ฒ์์ ํ์ด๋ฅผ ์ด์ํ๊ฒ ์๊ฐํด์ O(n^3)์ ์์ ํ์ ํน์ DP๋ฅผ ์ฌ์ฉํ๋ ๋ฒ์ ์๊ฐํ๊ณ ์์๋ค. ๊ทธ๋ฌ๋ค๊ฐ ์๊ฐ์ ๋ค์ ํด๋ณด๋ ์ฝ๊ฒ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ด 20๋ถ๋ง์ ํ๊ฒ ๋์๋ค. ์ญ์ ์ฒ์์ ํ์ด๋ฅผ ์ฃผ์์ผ๋ก ์ญ ์ ์ด๋ณธ ํ ์์ ๋ฅผ ํ ์คํธ ํด๋ณด๊ณ ์ํํ๋ ๊ฒ์ด ์ ์ผ ์ ํํ๊ณ ์๋ง์ ๋ฐฉ๋ฒ์ธ ๋ฏ ํ๋ค. ์ ๋ ฅ์ ๋ฒ์๋ 10^3๋ก ๊ทธ๋ค์ง ๋์ ํธ์ ์๋์์ง๋ง, ์์ ํ์ ์ O(n^3)์ด ๊ฑธ๋ฆฌ๋ฏ๋ก ์ถฉ๋ถํ ์๊ฐ์ด๊ณผ๊ฐ ๋์ฌ ์ ์๋ ๋ฒ์์๋ค. ๋ํ ๊ฐ ์ซ์์ ๋ฒ์๋ ์ต๋ 10^3์ด๋ฏ๋ก ์ซ์๋ฅผ ํ๋์ฉ ๋ด๋ ค๊ฐ๋ฉฐ / ์ฌ๋ ค๊ฐ๋ฉฐ ํธ๋ ์์ ํ์ ๋ํ ๋ถ๊ฐ๋ฅํ๋ค. ์์ ์ ํํธ๋ฅผ ๋ณด๋ ์ฐ์์ ์ด์ง ์์ ์์ด์ ํ๋ฆ๋ ๊ฐ๋ฅํ๊ณ , ๊ทธ๋ ๋ค๋ฉด ๊ฐ ์ซ์๊ฐ ๋ณด์ ํ๊ณ ์๋ ma..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwP69j%2Fbtq0ZK98uEh%2F15pPibgq55fQaKKzA4SZW1%2Fimg.png)
๐๋์ ํ๋ก๊ทธ๋๋ฐ ๋์ ํ๋ก๊ทธ๋๋ฐ์ Dynamic Programming ์ฆ, DP๋ผ๊ณ ๋ถ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฒ์ด๋ค. ๋ณต์กํ ๋ฌธ์ ๋ฅผ ์ ํ์์ผ๋ก ๋ง๋ค์ด ๋ถํ ์ ๋ณตํ ๋, ๋ฐ๋ณต๋ฌธ ๋๋ ์ฌ๊ท๋ฅผ ์ฌ์ฉํ ์ ์๋๋ฐ ์ด ๊ณผ์ ์์ ๊ณ์ฐ์ ๊ฒฐ๊ณผ ๊ฐ์ ์ ์ฅํด๋์ด ์ค๋ณต๋๋ ๊ณ์ฐ์ ํ์ง ์๋๋ก ๋ง๋ค์ด์ค๋ค. ์ด๋ ์ ํ์ ์ด๋ ๊ฒ ๊ฒฐ๊ณผ ๊ฐ์ ์ ์ฅํด๋๋ ๊ฒ์ ๋ฉ๋ชจ์ด์ ์ด์ ์ด๋ผ๊ณ ํ๋๋ฐ, ๋ณดํต ๋ฐฐ์ด์ ํํ๋ก ์ํ๋๋ค. DP ๊ณผ์ ์ ์ฒด ๋ฌธ์ ๋ฅผ ๋ถ๋ถ ๋ฌธ์ ๋ก ๋จ์ํํ๋ค. 1๋ฒ์ ๊ณผ์ ์์ ์ ํ์์ ๋์ถํ๋ค. ์ ํ์์ ์ด์ฉํ์ฌ ๋ฐฐ์ด๋ก ๊ฐ๋จํ ํด๊ฒฐํ ์ ์๋์ง ์๊ฐํ๋ค. bottom-up top-down ์๋ค๋ฉด ์ฌ๊ทํจ์๋ฅผ ๋ง๋ค๊ณ ๋ฉ๋ชจ์ด์ ์ด์ ํ๋ค. ๋ฉ๋ชจ์ด์ ์ด์ ๋ฐฉ์์ ๋ณดํต ๋ฐฐ์ด์ด๋ค. ์ ์ฒด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ๋ํ ๋ฌธ์ ํผ๋ณด๋์น ์์ด ๊ตฌํ๊ธฐ ํผ๋ณด๋์น ์์ด..
PI https://www.algospot.com/judge/problem/read/PI ๋ฌธ์ (์ฃผ์: ์ด ๋ฌธ์ ๋ TopCoder ์ ๋ฒ์ญ ๋ฌธ์ ์ ๋๋ค.) ๊ฐ๋ TV ์ ๋ณด๋ฉด ์์ฃผ์จ์ ๋ช๋ง ์๋ฆฌ๊น์ง ์ค์ค ์ธ์ฐ๋ ์ ๋๋ค์ด ๋ฑ์ฅํ๊ณค ํฉ๋๋ค. ์ด๋ค์ด ์ด ์๋ฅผ ์ธ์ฐ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก, ์ซ์๋ฅผ ๋ช ์๋ฆฌ ์ด์ ๋์ด ์ธ์ฐ๋ ๊ฒ์ด ์์ต๋๋ค. ์ด๋ค์ ์ซ์๋ฅผ ์ธ ์๋ฆฌ์์ ๋ค์ฏ ์๋ฆฌ๊น์ง๋ก ๋์ด์ ์ธ์ฐ๋๋ฐ, ๊ฐ๋ฅํ๋ฉด 55555 ๋ 123 ๊ฐ์ด ์ธ์ฐ๊ธฐ ์ฌ์ด ์กฐ๊ฐ๋ค์ด ๋ง์ด ๋ฑ์ฅํ๋ ๋ฐฉ๋ฒ์ ํํ๊ณค ํฉ๋๋ค. ์ด ๋, ๊ฐ ์กฐ๊ฐ๋ค์ ๋์ด๋๋ ๋ค์๊ณผ ๊ฐ์ด ์ ํด์ง๋๋ค: ๋ชจ๋ ์ซ์๊ฐ ๊ฐ์ ๋ (์: 333, 5555) ๋์ด๋: 1 ์ซ์๊ฐ 1์ฉ ๋จ์กฐ ์ฆ๊ฐํ๊ฑฐ๋ ๋จ์กฐ ๊ฐ์ํ ๋ (์: 23456, 3210) ๋์ด๋: 2 ๋ ๊ฐ์ ์ซ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbOkqSl%2FbtqDyESNLPh%2F2KzeGQkhsFl997FJn1UCfk%2Fimg.png)
https://www.acmicpc.net/problem/4811 ๋ฌธ์ 70์ธ ๋ฐ์ข ์ ํ ์๋ฒ์ง๋ ๋งค์ผ ๋งค์ผ ์ฝ ๋ฐ์์ ๋จน๋๋ค. ์๋ ์ ์์ด๋ ์ข ์ ํ ์๋ฒ์ง์๊ฒ ์ฝ์ด N๊ฐ ๋ด๊ธด ๋ณ์ ์ ๋ฌผ๋ก ์ฃผ์๋ค. ์ฒซ์งธ ๋ ์ ์ข ์๋ ๋ณ์์ ์ฝ ํ๋๋ฅผ ๊บผ๋ธ๋ค. ๊ทธ ๋ค์, ๊ทธ ์ฝ์ ๋ฐ์ผ๋ก ์ชผ๊ฐ์ ํ ์กฐ๊ฐ์ ๋จน๊ณ , ๋ค๋ฅธ ์กฐ๊ฐ์ ๋ค์ ๋ณ์ ๋ฃ๋๋ค. ๋ค์ ๋ ๋ถํฐ ์ข ์๋ ๋ณ์์ ์ฝ์ ํ๋ ๊บผ๋ธ๋ค. (์ฝ์ ํ ์กฐ๊ฐ ์ ์ฒด ์ผ ์๋ ์๊ณ , ์ชผ๊ฐ ๋ฐ ์กฐ๊ฐ ์ผ ์๋ ์๋ค) ๋ฐ ์กฐ๊ฐ์ด๋ผ๋ฉด ๊ทธ ์ฝ์ ๋จน๊ณ , ์๋๋ผ๋ฉด ๋ฐ์ ์ชผ๊ฐ์ ํ ์กฐ๊ฐ์ ๋จน๊ณ , ๋ค๋ฅธ ์กฐ๊ฐ์ ๋ค์ ๋ณ์ ๋ฃ๋๋ค. ์ข ์๋ ์๋ ์๊ฒ ํ ์กฐ๊ฐ์ ๊บผ๋ธ ๋ ์๋ W๋ฅผ, ๋ฐ ์กฐ๊ฐ์ ๊บผ๋ธ ๋ ์๋ H ๋ณด๋ธ๋ค. ์๋ ๋ ํ ์๋ฒ์ง์๊ฒ ๋ฐ์ ๋ฌธ์๋ฅผ ์ข ์ด์ ๊ธฐ๋กํด ๋๋๋ค. ์ด 2N์ผ์ด ์ง๋๋ฉด ๊ธธ์ด๊ฐ 2N์ธ..
Comment