알고리즘 공부/Baekjoon online judge

백준 문제 추천-2

djs100201 2021. 4. 19. 12:59

시험공부하기 시러서 쓰는 중
3월 31일에 문제추천 한번 하고

19일간 풀었던 골플 문제 괜찮은걸 한번 써보겠다.

 

cf) ★는 추천도 기준입니다!
일반적으로 여기 올린건 다 재밌었던 문제들입니다 :)

 

우주정거장 (Platinum5)

더보기

suapc모의고사 문제 
스위핑 + 유니온 파인드
멋진 문제다. 스위핑에 익숙하다면 체감 난이도는 골2~골1정도라고 생각한다.

 

 

★ 원섭동 사람들 (Platinum4)

더보기

넘무 넘무 좋은 문제
위상정렬 idea + cycle에서의 따로 판정에 대해 곰곰이 생각해보면 풀린다.
진짜 갓 문제다.
처음에 scc인가? 하고 틀리고
위상정렬 + pq에서 맞왜틀하다가 풀이를 아예 바꿔서 맞았다.

 

 

★ 특이한 수열 (Gold1)

더보기

constructive 연습
난이도는 constructive에 익숙하다면, 역시 체감상 좀 낮다.
gcd(n,n+1)=1이라는 idea가 떠올리기 어렵지 않다. (특히 예제에서 대놓고 보여준다)

 

 

★ 유클리드 게임 (Gold2)

(꼭 풀어봐요!)

더보기

난 이런 문제를 사랑한다. 진짜 내 스타일의 문제다. 언젠가 이런 게임이론 문제를 내야지
잘 생각을 해보자
어떤 게임의 상태에서, 그 상태에 처음 고르는 사람이 이길지 질지는 이미 정해져 있다.
만약 더 큰수가 작은 수의 두배이상이라면 첫번째 사람이 반드시 이긴다.
왜? 원래 더 큰 수가 작은수보다 큰 상태를 A,대소관계가 뒤바낀 상태를 B상태라고 하면, 만약 원래 더 큰수가 작은 수의 두배이상이라면, A->B로 넘어갈때 내가 고를지 상대가 고를지를 선택할 수 있다. 

그럼 A->B로 넘어갈때 고른사람이 이기든 지든, 먼저 하는 사람이 이긴다.
두배이상이거나 같은게 아니면 dfs타고 가면 된다! 

 

 

★ 챔피언 소트 (Platinum4)

더보기

직관적으로 답을 도출하는 생각 자체는 쉽다고 생각한다.
단지 증명에서는 약간의 조합론과, 수학적 귀납법이 쓰인다.

 

 

★ 직사각형 (Platinum2)

더보기

이 문제 어렵다.
constructive 가 왜 어려운지 여실히 보여준다.
솔직히 풀이 보면 할만해 보이는데 진짜 어렵다.
뭔가 나중에 쓰일수도?

 

 

★ Maximum Subarrays (Platinum5)

더보기

근래에 봤던 문제중에 젤 멋지다...
진짜 진짜 진짜 갓 문제라고 생각이 든다.
www.acmicpc.net/problem/16494

이 문제도 꽁으로 먹을 수 있다.
한번쯤 누구나 생각해봤을 법한 문제 자체가 Maximum Subarrays이다. dp로 꼭 풀어보자.



Human Praymid (Platinum3)

더보기

전형적이지 않은 dp다. 아이디어가 너무 사랑스럽다
대충 삼각형 그려보면 각 층마다 현재 최댓값, 그리고 총 합이걸 저장해서, 증가수열로 먹어야 함을 알 수 있다.
설명이 이상하긴 한데...어쨌든 dp 다.



RPG (Platinum2)

더보기

또 나왔다! dp! 
이건 다시 한번 풀어볼 가치가 있는거 같다.
visited와 queue를 이용해서 어떻게 잘 굴리는데 못 풀어서 풀이를 봤었다.




★ 제271회 웰노운 컵

더보기

greedy. 진짜 idea가 미쳤다... 매칭으로 바꾸고 pq쓰는 아이디어에 너무 감명받았다.
나중에 발전시킨 문제를 만들어봐야지.
그리고 이 문제는 가끔씩 할 거 없을때 머릿속에서 곱씹는다 ㅋㅋ 갓 문제

 

'알고리즘 공부 > Baekjoon online judge' 카테고리의 다른 글

#2209 버스터미널  (0) 2021.06.11
#5484 정원  (0) 2021.06.08
#14684 줄서기  (0) 2021.06.04
백준 문제 추천 골3~플3 정도  (3) 2021.03.31
#10468 숫자뽑기게임  (0) 2020.11.20