본문 바로가기

전체 글

(35)
KOI 2020 본선 후기 치기 전에 생각한 수상 확률은 금상 3퍼 은상 96퍼 동상 1퍼였다. 그러니까 그냥 은상 받을 걸 처음부터 예상하고 있었다 ㅋㅋ; 1번은 시작하자마자 슥삭했다. soez 그리고 2번을 갔는데 생각보다 어렵다. 원래 1 2번을 30분컷 낼 마인드였는데 어림도 없었다. 그래서 '아 KOI가 조금 바뀌었구나!'하고 2번을 안 풀어도 금상일 수도 있겠단 마인드로 약간 긁어만두고 3번으로 튀었다. 그리고 3번에서 두 점을 고정하는 풀이로 세제곱을 짜서 긁고 그 풀이를 한 점을 고정하고 이분탐색을 하는 방식으로 업그레이드하여 38점을 긁었다. 그리고 다시 2번으로 돌아와서 1 2만 있는 섭태를 긁었는데, 왠지 원래 수열도 증가와 감소로 해석해서 1과 2만 있는 거처럼 나타낼 수 있을 거 같았다. 그래서 똑같이 그렇..
NYPC 2020 본선 후기 NYPC 2020 본선에 진출하였다. 이번에 코로나 때문에 사람 수를 절반으로 줄여서 본선에 가기 더 힘들어졌지만 만점을 받았기 때문에 넉넉하게 본선에 갈 수 있었다. 그 와중에 우여곡절이 좀 있었지만 그건 노코멘트... SRT를 타고 가서 SRT를 타고 왔다. 가는 길에 잠을 아주 잘 잤는데, 역에 도착하는 바람에 깨서 역효과가 났다. 그리고 자고 일어나보니 다리가 마비된 듯한, 다리가 안 움직여지는 상황이 있었는데 이런 거 처음이었다. 수서역에서 택시를 타고 넥슨 사옥까지 갔다. 사옥 밖에서 이미 도착했을 cgiosy 같은 사람이랑 얘기라도 나누려 했는데 아주 자연스럽게 안으로 안내하더니 안에서는 코로나 때문에 제자리에만 앉아있게 해서 결국 ps러들이랑 한 마디도 못 나눴다...ㅠ 좌석표를 보니까 앞..
NYPC 2020 예선 풀이 NYPC 2020 예선이 마무리되었습니다! 사실 NYPC 2019에도 참여했었는데 그땐 200점대 받음 ㅋㅋ;(본선 점수 아니고 예선 점수임 ㅋㅋ;) 아무튼 그때는 뉴비도 아니고 그냥 입문도 안 했을 때고 이제 1년이 지난 후에 완전히 설욕전에 성공했다. 2000점 만점에 2000점!! 기분이 너무 좋당. 아무래도 제일 어려운 문제는 메이플 월드 라이딩 여행이었던 거 같은데 추하게 비빈 게 겨우 성공해서 만점을 받을 수 있었다. (버킷 크기 바꿔가며 9개 동시 제출했는데 한 개만 맞았다.) 그래서 풀이를 적어보려고 한다. 예선 잘 쳤으니까 본선도 잘 치겠지? 1. S OR T (1) 100점 풀이 시간복잡도 : O(N) 그냥 하라는대로 짜면 됩니다. #include using namespace std; ..
2020.06.28 Problem Solving 4주간의 학교 감금에서 드디어 탈출! 기숙사에서 PS할 시간도 별로 없었고 중간고사 기간까지 끼여있었지만, 기어코 PS를 해내는 나... 코포는 못해서 아쉬웠다. 이번에는 내가 학교에 있는 동안 푼 문제들에 대해 정리해보려고 한다. 생각해보니 푼 문제가 많아서 적을 만한 거만 적으려고 한다. Fortune Telling 2 , 카드 공장 (Large) 같은 문제다. 카드 하나에 대해서만 생각을 해보면 그 카드에 적힌 숫자 두 개 모두보다 크거나 같은 수가 불린다면 무조건 뒤집힐 것이고, 둘 중 작은 수보다 작은 수가 불린다면 뒤집히지 않을 것이다. 그거 두 개가 아닌 중간 수가 불렸을 때가 중요한데 앞면이 작은 수일 때만 뒤집히므로 앞면이 둘 중 큰 수로 고정되게 된다. 그럼 마지막에 불린 '중간 수'를..
Codeforces Round #642 (Div. 3) 딥3이다. 쉬운 문제들만 있기 때문에 연습하기에 좋다. 또 뭔 문제를 풀지 모를 때 문제를 알아서 던져줘서 좋기도 하다. 민트 이하한테는 떡상의 기회도 되는데, 나는 민트가 아니니까 해당사항이 없다. A. Most Unstable Array A번이니만큼 간단한 문제다. 일단 N=1이면 답이 0이고 N=2일 때 답이 m인 것은 매우 자명하다. N>=3일 때는 답은 m*2이다. 직관적으로 보일 수 있지만 증명해보자. 0 m 0 0... 꼴로 답이 m*2이게 할 수 있다. 그럼 답이 m*2를 초과할 수 없음을 증명한다. 답을 c1*a1+c2*a2+c3*a3+c4*a4+...+cn*an 꼴로 나타낼 수 있다. 이때 -2
BAPC 2019 비요뜨랑 BAPC 2019를 돌았다. 합산해서 11솔을 했다!!! 요뜨 블로그 J. Jazz it Up! (gunwookim, 2분) 요뜨가 슥삭했다. B. Breaking Branches (urd05, 3분) 대충 짝수이면 이길 수 있고 1개 가져가면 된다. 홀수이면 못 이긴다. 증명은 그냥 넘어갔다. F. Find my Family (urd05,15분) 자기 오른쪽의 최댓값을 O(N)에 전처리해두고, 왼쪽부터 셋에 넣으면서 풀자. set의 upper_bound를 이용해서 그 수보다 큰 가장 작은 수를 구한 다음에 오른쪽의 맥시멈이 그것보다 큰지 확인한다. H. Historic Exhibition (urd05,40분) 디닉 뇌절 풀이를 생각했다가, 그냥 그리디로 짰다. |a[i]-b[i]|i로 가는 길..
백준 18195번 정점 찾기 출처 : 나는코더다 2019 송년대회 K번 solved.ac 티어 : P2 링크 인터랙티브 문제다. 나 혼자 삽질해서 푼 문제기도 하다. 나는 이 문제의 풀이를 전개해나가는데 두 가지의 방식으로 쿼리를 사용할 것이다. 1. i번째 비트가 0인 정점끼리 모두 묶고, 1인 정점끼리도 모두 묶고 i번째 비트가 0인 정점과 1인 정점이 서로 연결되어있는지 확인한다. a와 b의 i번째 비트가 다른지 확인할 수 있다. 쿼리를 한 번 사용한다. 2. a와 b의 비트값이 다른 비트를 하나 알고 있고, 그 비트의 비트값도 알고 있을 때 사용할 수 있는 방식이다. 알고 있는 비트를 x번째 비트라 하고, 현재 알려고 하는 비트를 i번째 비트라 하자. 또 a는 x번째 비트가 0이고, b는 x번째 비트가 1이라 하자. 아니라면..
BAPC 2016 비요뜨랑 엡실론이랑 같이 BAPC 2016 셋을 돌았다. 결과는 10솔. 잘 풀었다 ㅎㅎ https://gunwookim.tistory.com/11 스코어보드 L. Sticky Situation (gunwookim, 3분) 비요뜨가 그냥 슥삭했다. I. Older Brother (urd05, 5분) 일단 소수판정을 하자. 그리고 sqrt(q) 이하의 소수까지에 대해서 그것의 거듭제곱으로 q를 나타낼 수 있는지 완전탐색하자. B. Battle Simulation (gunwookim, 10분) 비요뜨가 슥삭했다. 갓요뜨. C. Brexit (urd05, 18분) 탈퇴하는 정점들이 큐에 들어가는 BFS를 구현하자. 그러면서 모든 정점들에 대해서 자기와 인접한 정점 중 탈퇴한 정점이 몇 개인지 관리하면서 적절히..