본문 바로가기

전체 글

(87)
누적 방문수 10,000 보잘것없는 블로그에 방문해주셔서 정말 감사드리고, 앞으로도 열심히 포스팅하겠습니다!
Codeforces Round #758 (Div.1 + Div. 2) Dashboard - Codeforces Round #758 (Div.1 + Div. 2) - Codeforces codeforces.com 3솔이 오렌지 퍼포일 정도로 불셋이었다. D가 수학 문제였는데 못 풀어서 아쉽다. 오렌지까지 47점 남았다... 이제 시험도 끝났으니 맘 편하게 올려보자. Prob. A $2$부터 $n+1$까지 출력한다. 난생 처음 0분대 솔 ㄷㄷ Prob. B 지그재그를 그려보면 극대와 극소의 개수는 항상 차이가 1 이하라는 것을 알 수 있다. 남은 건 case work. Prob. C 실력 순으로 정렬했을 때 두 개 이상의 그룹으로 구분이 된다면, 가장 상위 그룹에 속한 사람들만 이길 수 있다. 이는 배열 한 개로 간단하게 확인 가능하다. Prob. D 컬러링이 valid한 것..
정보 코드 정리 보호되어 있는 글입니다.
선택 정렬의 개선 데추주를 위해 선택 정렬을 짜는데 무언가 익숙함이 느껴졌다. 어 이거... RMQ? RMQ는 세그먼트 트리를 이용하면 각 쿼리를 $O(logN)$에 구할 수 있음이 잘 알려져 있고, 선택 정렬을 시행할 때 필요한 쿼리의 수는 $N$번이다. 세그먼트 트리를 전처리하는 데에도 $O(NlogN)$이 필요하므로, 최종 시간복잡도 $O(NlogN)$에 배열을 정렬할 수 있다. BOJ 2751에 제출해보니 메모리와 시간 면에서 그다지 효율적이지는 않아도 나름 선전하는 모습을 보여줬다. #include using namespace std; #define nm (nl+nr>>1) typedef pair pii; const int N = 1e6+1; int n,a[N]; pii tree[4*N]; void init(in..
First Solve 3개 퍼솔을 처음 시도해보았다. 쫄려서 쉬워보이는 것들만 찍먹함. ㅎㅎ