본문 바로가기

전체 글81

1장 요약 CPU time = (instructions / program) * (clock cycles / instruction) * (sec / clock cycle) Clock cycle 감소와 Clock rate 증가는 양립하기 어려우므로 타협점을 찾는다 암달의 법칙: 성능 향상 → 자주 사용하는 명령(common case)를 빠르게, 즉 가성비 알고리즘, 언어, 컴파일러: IC와 CPI에 관여 ISA: IC, CPI와 Clock Cycle Time에 관여 퍼포먼스에 영향을 끼치는 요소 알고리즘: 연산 횟수 언어, 컴파일러, 아키텍처: Operation당 실행되는 Machine instruction 수 프로세서, 메모리 시스템: Instruction의 실행 속도 IO 시스템: IO 속도 Response .. 2021. 4. 8.
2021 IGRUS Newbie Programming Contest 운영 후기 오늘(3월 28일) 오픈 컨테스트까지 무사히 끝났다. 작년 대회를 여신 선배님이 출제자를 모집한다고 하셔서 지원했고, 결국 세 문제를 내게 되었다. 그 밖에 해설 PPT(비공개로 해야 하는 것 같다) 제작 등 자질구레한 일들을 했다. 대회는 백준 온라인 저지에서 비대면으로 진행하였다. 공지가 늦는 등 운영의 부족함과 일부 모호한 지문에 참가자 분들께 정말 죄송했다. ㅜㅜ 그래도 많은 학우분들이 대회 끝나기 직전까지도 열심히 참여해주셔서 정말 감사했다. 최종 결정된 수상권의 문제 해결 수 분포는 8솔 4명, 7솔 2명, 6솔 2명, 5솔 4명이다. 1등 10솔브 정도를 예상하고 출제하였는데 생각보다 많이 어려웠던 거 같다. 다음은 검수 단계에서 내가 풀었거나 시도한 문제들에 대한 간단한 설명이다. A. 홀.. 2021. 3. 28.
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 < cap) { tree[i] += diff; i += i & -i; } } ll query(int l, int r) const { return pquery(r) - pquery(l - 1); } ll pquery(int i) const { ll ret = 0; 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.