본문 바로가기

전체 글89

BOJ 2000문제 PS와는 별개로 랭킹작을 좋아해서 나름 열심히 했다. 컨텐츠(문제)가 엄청나게 많아 게임처럼 끊기 어려웠다. 당분간은 개인적으로 선호하는 PO, USACO 등의 기출이나 도움이 될 만한 문제들 위주로 덜 열심히 할 것 같다. 이제 밀린 코드포스도 풀고, CS(학교 공부)랑 웹 개발 공부도 좀 해야겠다. ㅎㅎ; 2021. 3. 23.
BIT struct Bit { ll cap; vector arr, tree; Bit(int size) { cap = size + 1; arr.resize(cap, 0); tree.resize(cap, 0); } void update(int i, ll x) { ll diff = x; arr[i] += x; while (i 0) { ret += tree[i]; i -= i & -i; } return ret; } }; 2021. 3. 22.
DSU int dsfind(int tar) { if (tar == root[tar]) return tar; return root[tar] = dsfind(root[tar]); } void dsmerge(int a, int b) { a = dsfind(a), b = dsfind(b); if (a != b) root[a] = b; } 2021. 3. 22.
Reply Code Challenge 2021 참여 후기 구글 해시코드 때 만난 youx님이 비슷한 대회를 같이 참여하지 않겠느냐 소개해주셔서 참가했다. 이후 39dll님도 함께하게 되어 3인팀이 되었다. 팀명은 임시로 temp00001로 했는데 결국 그대로 사용했고, 비대면으로 진행하였다. 서로 다른 인터넷 수요(Latency, Connection speed 등)를 가진 건물들을 위해 통신탑?을 적절히 설치하는 문제였다. youx님이 2차원 펜윅트리로 뭔가 하신다길래 다른 방법을 고민했고, 지도를 행정구역마냥 적당한 크기로 쪼개 수요가 많은 쪽에 통신탑을 몰아주는 그리디한 풀이를 택했다. 의외로 나쁘지 않아서 점수가 꽤 올랐고, 일부 통신탑을 직접 옮겨가며 점수를 더 긁었다. 최종 217등으로 마무리했고, 참여자가 적어서 상대적으로 좋아보인다. 지난 대회에선.. 2021. 3. 13.
구글 해시코드 짧은 후기 26일 새벽 39dll, malkoring, youx님과 만나 대회에 참여하게 되었다. 처음엔 굉장히 어색했는데, 다들 즐겜팟인걸 확인하고 어쩌다보니 다들 리듬게임 좀 하던 사람들이라 금새 분위기가 좋아졌다. 대회가 시작되고 39dll님이 빠르게 적당한 코드를 짜내 잠깐이지만 좋은 등수가 나왔다. malkoring님이 데이터를 분석해 주신 뒤론 별 진전이 없었는데, youx님이 코드를 짜 오시고 점수가 800만점 초반대로 많이 올랐다. 사실 나는 별 아이디어가 없었던지라 youx님 코드에서 상수만 조절해가며 70만점 정도 더 긁었다. 최종 2900등 정도 했고, 대회 중 분위기가 워낙 좋아서 아무래도 좋았다. 뒷풀이로 같이 오락실도 갔다. ^-^ 2021. 2. 27.
Rabin karp #include #define sad std::cout.flush(), system("pause") using namespace std; using ll = long long; using pii = pair; using pll = pair; namespace rbk { const ll x = 131, md1 = 1e9+7, md2 = 1e9+9; int plen; pll d; void init(int n) { plen = n; d = {1, 1}; for (int i = 0; i < n; ++i) { d.first = (d.first * x) % md1, d.second = (d.second * x) % md2; } } pll hash(string &s, int len = 0, int b = 0) { p.. 2021. 2. 10.