codeforces 썸네일형 리스트형 Ethflow Round 1 (Codeforces Round 1001, Div. 1 + Div. 2) 시스텟 전이다.사실 오늘은 몸 상태가 하면 안되는 상태였는데 억지로 했더니 대회 중간에 건강 이슈가 있었다. 설명하기 좀 그러니까 대충 무언가가 역류했다까지만 설명하겠다.그래서 내 뇌까지 같이 붕괴되었다.. 아니 E1에서 왜 HLD를 쓸 생각을 했을까?마지막에 3분 남기고 E1을 맞았는데 이게 HLD 쓰는 구데기 풀이가 오류가 있었기 때문이다. 그냥 오일러 투어만 때리면 되는데 이걸 어떻게 1시간동안 못찾냐.. 그래도 마지막에 찾기라도 해서 다행이다. A1 개수 세기 B걍 자기에서 시작하는 형태만 확인 C이게 차이 수열로 만들고 나서 -1 곱하고 뒤집으면 전 상태에서 뒤집어서 차이 만들었을 때의 값이 나온다. 그래서 그냥 reverse 안하고 차이배열 만들면서 abs(sum) 최댓값 보면 된다. DE1 .. 더보기 Codeforces Round 985 F. Palindrome Everywhere 문제길이 n의 사이클이 있다. 간선은 i->(i+1) mod n으로 가며 R 또는 B로 색깔이 있다. 이때, 모든 쌍 (i,j) (i 풀이팰린드롬으로 간선을 지나가야 한다는 것이 좀 복잡해 보인다. 생각을 편하게 하기 위해서 i,j에 위치하는 두 사람이 있고 이 두 사람이 만나야 하는데, 두 명이 이동하기 위해서는 항상 같은 색깔의 간선만 타고 가야하는 문제라고 문제 서술을 약간 바꿔보자. 문제를 이렇게 바꾸면 꽤 다루기 편한 형태가 된다. 이제 관찰을 하자.관찰 1) R로 색깔이 같은 인접한 간선과 B로 색깔이 같은 인접한 간선이 같이 존재할 경우, 답은 NO이다. 왜냐하면 그 두 위치에 두 사람을 배치하면 움직일 수 없다.이 관찰 하나로 간선의 형태를 매우 단순화시킬 수 있다. 어떤 한 색깔의 간선은.. 더보기 Codeforces Round 996 (Div. 2) 1/13 21:47 추가) E를 업솔빙했습니다.이번 셋의 핵심(?)은 C였다. n == m이면 아무거나 되고 n != m이면 아무거나 안된다.. 는 알았는데 0이어야 한다 는 파악을 못해서 ax+b 꼴로 더하는 더러운 풀이를 짜느라 시간이 오래 걸렸다.그래서 든 생각인데, 이런 경우에는 D부터 보는 것도 나쁘지 않은 것 같다. 어차피 D까지 풀어야 된다고 쳤을때 D 점수 감소폭이 더 커서 C 풀이만 잡아놓고 D 풀이 보는 것도 괜찮은 것 같으니 다음에 해봐야겠다. Aparity가 같아야 이긴다. B연산을 2개 이상의 원소에 쓰는 순간 망한다는 사실을 알면 된다. C (+2)경로를 따라가면서 수를 정할 것이다. (0,0) = x로 한다고 하면 나머지 경로 값이 x에 대한 식으로 나오는데, 여기서 방정식이 .. 더보기 Hello 2025 (CF) C 때문에 망할 뻔 했다. 버저비터로 3분 남고 E1까지 풀긴 했다. Amax(n,m)+1 B서로 다른 수의 개수를 최소화하도록 잘 줄이면 된다. D그냥 금광세그 C얘가 문제다. 분명 [l,r] 전체에서 겹치는 앞 비트를 빼고 나면 항상 xor해서 111...111 꼴을 나오게 하면 되는데 이 상태로 졸면서 뻘짓하다가 1시간 멍때렸다. 제정신이 아니다.D 풀고 와서 다시 보니까 대충 정신이 들어서 l, r을 범위 내에서 잘 반전시키고 남은 1개를 naive하게? 어떻게 잘 채워주는 겁나 더러운 로직을 짜서 냈더니 맞았다.근데 오늘 일어나서 다시 생각해보니까 고정비트 빼고나면 최상위 비트는 0과 1이 반드시 가능하니까 100..000 이랑 011..111이랑 다른거 아무거나 주면 된다.............. 더보기 Educational Codeforces Round 173 (Rated for Div. 2) 그냥 망해서 쓰는 똥글입니다이제 코포 한지도 꽤 됐는데 아직도 밤에 코딩하는게 너무 힘들다. B는 그냥 더럽고 C는 나쁘진 않은데 그냥 C에 있기 좀 그렇다.D는 양끝에 100개 봤는데 걸어놓은 assert 걸려서 500개로 늘려도 assert 걸려서 고민해봤는데 아무리 생각해도 500칸에서 쌍마다 다 서로소일수가 없다.. 그래서 assert 빼고 다른 로직으로 짜서 맞았다. 백준에서 맨날 더러운거 푼다고 assert 거는게 습관이 되었는데 빨리 버려야겠다.E는 비트로 쪼개고 사이클만 잘 봐주면 되는데 이걸 23분 안에 왜못짬.. 뇌 빼고 짜서 말도 안되는 위상정렬을 짰다. 코드는 보여줄 수 없다. 에듀에서 아직도 양수델타를 먹어본 적이 없다. 내가 싫어하는 유형을 다 모아놓은 것 같다.그렇게 생각하니까.. 더보기 Codeforces Round 987 (Div. 2) 필자가 현재까지 경험한 코포 중 가장 이상한(?) 경험을 한 셋이어서 간단하게 작성한다. 일단 작성 시간 기준 시스텟은 안돌았는데 안 틀릴거라고 믿는다. timeline0:00 ~ 0:05A를 봤다. 조건을 잘못봐서 이상한 풀이를 2개 짜고 터진 후 다시 읽고 비내림차순임을 알게 되었다. 바로 AC0:05 : A AC (+2) 0:05 ~ 0:18B를 봤다. 대충 자명한 관찰 몇개 하고 냈는데 틀렸다. 그리고 또 고쳐서 냈는데 틀렸다. 그리고 또 고쳐서 냈는데 틀렸다.오늘은 진짜 망했다는 걸 느끼고 지금 B를 봐서 얻을 이득이 없다고 느껴져 B를 버리고 C를 보러 갔다.0:18 : B WA(+3)0:18 ~ 0:22C를 봤다. 자명하게 짝수는 인접시키면 되고 홀수는 안된다는 생각을 한 뒤 냈는데 틀렸다... 더보기 Educational Codeforces Round 168 (Rated for Div. 2) 억까가 연이어 일어나서 결국 레이팅은 떨어진다.일단 B 문제 조건이 나중에 계속 추가되었는데 틀린 3번 중에서 없던 조건 때문에 틀린 게 2번이다. 이걸로 추가로 10분 정도 날렸으니 엄청난 패널티를 먹었다.그다음에 C는 거의 4분만에 풀었고 D도 10분만에 풀었다. 그리고 E를 봤는데 뭔가 병렬이분탐색처럼 이분탐색을 한꺼번에 처리할 수 있는 느낌이 들어서 펜윅 + 오프라인 쿼리랑 섞어서 코드를 짰다. 그렇게 냈는데 12번이나 틀렸다.분명 틀릴 코드가 아니었는데 너무 억울해서 tc를 뜯어봤는데 무슨 4만번째 쿼리에서 뜬금없이 틀리길래 뭔가 알고리즘에 오류가 있나 해서 코드를 다시 봤더니 그제서야 실수가 보였다.결론만 말하자면if(l+1 >= r)continue;이 부분을if(l+1 >= r){ .. 더보기 Codeforces Round 961 (Div.2) (코포 복귀전) B에서 말려서 멸망!오랜만에 푸니까 코포 스타일 문제가 적응이 안되네요D도 50분 줬으면 풀었을 것 같은데 좀 아쉽지만아무튼 다시 열심히 해서 오렌지 ㄱㄱ 20240724 +)블루 복귀 :( A(0:00 ~ 0:04, 0WA)문제 요약 : n x n 판에 k개의 기물을 올릴 때 기물이 올라가있는 대각선의 개수는 최소 몇 개인가? ((i,j)는 i+j번 대각선 위에 있음)풀이기물이 많은 대각선부터 순서대로 나열하면 그 크기가 n, n-1, n-1, n-2, n-2 ... , 1, 1이므로 큰 곳부터 놔주면서 k를 언제 넘는지 보면 된다.구현하다가 좀 실수해서 2분 정도 낭비.더보기#include using namespace std;#pragma GCC optimize("O3")#pragma GCC opti.. 더보기 이전 1 2 다음