본문 바로가기

전체 글

(160)
USACO 2021 Decomber Contest 후기 1. Bronze 세 문제를 전부 어렵게 푸느라 올솔이 두 시간이나 걸렸다. 전부 실버 ~ 골드 하위급 문제들이라 크게 할 말은 없다. 2. Silver 많이 어려웠다. A를 열고 고민하는데 너무 더러워 보였고 B를 열고 고민하는데 괜찮은 풀이가 전혀 생각나지 않았다. 다행히 C의 아이디어가 빨리 떠오르긴 했는데, 제한이 애매해서 안전하게 가려면 FFT를 써야 하는 상황이었다. FFT 템플릿을 가져와 스위핑을 적당히 구현해주었고 한시간이 조금 넘은 시점에 C를 맞았다. 그리고는 그나마 쉬워보이는 B를 잡았다. 일단 유니온파인드를 이용해 간선들을 그룹 짓고, 열심히 케이스워크를 해서 직접 만든 예제들을 다 맞췄다. 그런데 반례는 끝도 없이 나왔고, 결국 유파에 map을 섞는 이상한 풀이를 구상했는데 이게 ..
누적 방문수 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..