본문 바로가기

분류 전체보기

(162)
흐아 간만에 기분이 좋은 밤이네요 이 기분에 취해 마구 글을 쓰고 싶지만 할 일이 너무 많은..
2023 SNUPC Div.1 후기 2023 서울대학교 프로그래밍 경시대회 www.acmicpc.net 호기롭게 Div.1을 신청하고 나서 꼴등하는 건 아닌가 조금 걱정했지만, 다행히 참가자가 많지 않아서 4솔 14등으로 본상 수상에 성공했다. 25,000원 정도 하는 샤오미 보조배터리를 받았는데 아이폰이라 나는 못 쓴다. A. 재민이의 생일 제일 쉬운 문제를 열었는데 복잡도가 심상치 않다. $O(500\,000^{\frac{4}{3}})$ 이상을 3초 안에 돌려야 하는데 쉽지 않아 보인다. 일단 multiset을 운용하면서 복잡도에 로그를 붙이는 풀이를 짰는데 TLE를 받았다. 그래, 이런 걸 막고 싶었겠지. 한참 고민하다가 구글에 2d range minimum query를 치니까 $O(NM\log{N}\log{M})$ 전처리에 $O(1..
SCPC 2023 본선 후기 실력 부족, 연습 부족이라 그렇게 아쉽지는 않다. 다만 2번을 건드리지 않았으면 어땠을까 하는 생각... 1. 돌 게임 1번은 뭐 그런디 수를 구하라고 하진 않겠지라는 믿음으로 보면 홀짝성이 중요하다는 것을 알 수 있다. 10분 정도 걸렸다. #include using namespace std; typedef long long ll; void solve() { int n; cin >> n; vector a(n + 1); for(int i = 1; i > a[i]; int cnt = 0; for(int i = 1; i tc; for(int T = 1; T k; if(k 2 * n - 3) return cout
SCPC 2023 2차 예선 후기 대회 날짜를 전날에 알았는데, 대회와 시간이 정확히 겹치는 일정이 두 개나 있었다(...) 하나는 어찌어찌 뺐고 하나는 4시간 정도를 잡아먹었다. 1. 타이젠 윷놀이 첫 문제부터 머리가 지끈거린다. 각 상황을 flag 변수 두 개를 이용하여 나타내고 단순화시켜서 시뮬레이션하면 된다. 그런데 범위가 커서 이동을 메모이제이션하는 과정이 필요하다. 그런데 답이 int 범위를 넘어서 롱롱을 사용해야 한다. 답이 크다는 것을 놓쳐서 코드가 틀린 줄 알고 막 런전처하는 새로운 풀이 짜다가 한 시간 넘게 허비했다. #include using namespace std; #define int long long void solve() { int n, k; cin >> n >> k; vector a(n + 1), b(k +..
SCPC 2023 1차 예선 후기 대충 풀어도 2차는 간다고 해서 올솔하려는 노력을 들이진 않았다. 1. 증강현실 배달 안경 확장 유클리드를 쓰면 로그시간에 되지만, 범위가 작아 그냥 다 해봐도 된다. #include using namespace std; int main() { cin.tie(0)->sync_with_stdio(0); int tc; cin >> tc; for(int T = 1; T > n >> a >> b; for(int i = 0; i 0) b.push_back(x); else z++; } int mx = 0; sort(a.begin(), a.end()); sort(b.begin(), b.end()); for(int i = 0; i d) break; mx = max(m..