본문 바로가기

전체 글110

Vertex Cover, Independent Set Vertex Cover : 그래프 G=(V,E)의 정점 집합 중 어떤 부분집합 C를 택하였을 때에, 그래프 상에 존재하는 모든 간선이 C에 속하는 정점과 인접하다면 C를 G의 Vertex Cover라고 한다. 이 때 가능한 C 중 최소 크기의 C를 Minimum Vertex Cover(최소 정점 덮개)라고 한다. Independent Set : 그래프 G=(V,E)의 정점 집합 중 어떤 부분집합 I를 택하였을 때에, I의 모든 원소가 서로 인접하지 않다면(두 정점을 연결하는 간선이 존재하지 않는다면) 해당 집합 I를 Independent Set이라고 한다. 이 때 가능한 I 중 최대 크기의 I를 Maximum Independent Set(최대 안정 집합)이라고 부른다. 이와 연관하여 알아두면 좋은 사실들.. 2018. 7. 20.
OpenCup 튜토리얼 재현이(koosaga)가 재작년에 OpenCup 연습에 대해 알려주었습니다. 하지만 해당 대회의 수준이 매우 높아 연습해 볼 엄두를 못내다가 작년에 용기를 내어 시도해보았습니다. CodeForces에서 snarknews에게 메세지를 보내보았습니다. 아래는 그 내용입니다. snarknews가 알려준대로 http://opentrains.snarknews.info/~ejudge/opencup.cgi 로 가봅니다. 아래와 같은 로그인 화면이 나옵니다. Login과 Password에 snarknews가 알려준 ejudge login과 ejudge password를 각각 입력합니다.로그인하면 아래와 같은 화면이 나옵니다. My Teams 에서는 본인이 속한 학교의 참가자 계정들을 관리할 수 있습니다. 저는 고려대 .. 2018. 5. 4.
TopCoder Marathon Match 100 후기 이번 마라톤 매치에는 50등 이내의 참가자들에게 티셔츠를 주는 이벤트가 있었습니다.문제는 상당히 단순합니다. H*W 크기의 격자 판이 있습니다. 각 격자 칸에는 0 ~ C-1의 숫자가 있습니다. 여러분은 숫자가 같은 두 격자 칸을 선택해서 없앨 수 있는데, 추가적인 조건으로 두 격자 칸을 대각 꼭짓점으로 하는 직사각형 내에 다른 숫자의 격자칸이 있으면 안됩니다. 삭제된 칸은 숫자가 쓰여 있지 않다고 가정합니다. 가능하면 많은 수의 격자 칸을 없애야하는 것이 본 문제의 목표입니다.문제 본문은 다음 링크( MM 100 Problem Statement )에서 보실 수 있습니다. 대회 결과는 다음 링크( MM 100 Standings )에서 보실 수 있습니다. 아래 영상은 제가 작성한 코드가 격자 칸을 없애는 .. 2018. 4. 26.
SW 개발병 지원 과정 및 면접 후기 2017년 12월에 병무청 홈페이지에서 SW 개발병에 지원했다. 당시 4명을 뽑는데 2018년 4월 입대와 5월 입대 지원이 나뉘어져 있었고, 둘 중 하나를 선택해야 했다. 나는 특기병에 붙기만 하면 입대 시기는 큰 상관없었기 때문에 상대적으로 합격할 확률이 더 높을 것 같은 5월에 지원했다. 별도로 준비해야하는 것은 딱히 없었다. 이와 관련해서는 병무청의 공식 안내 자료( https://www.mma.go.kr/contents.do?mc=mma0001989 )를 참고하자. 자격증의 경우, 본인은 초등학생 때 취득한 정보처리기능사가 있었다. 학력은 고려대 컴퓨터학과(평가 시 '직접학과'로 분류) 4학년 재학 중(3학년 수료)이었다. 따라서 1차 평가(서류 심사)에서 34점/40점이겠구나 예상 가능했다. .. 2018. 4. 10.
BOJ '바리스타와 함께하는 대회 테스트' 풀이 Main Page / Scoreboard A. 농부 후안은 바리스타입니다 2차원 fenwick tree를 이용하여 O(Q log N log M)에 해결할 수 있다. [x1, y1]×[x2, y2] 영역에 +d하는 연산을, (x1, y1)와 (x2+1, y2+1)에 +d하고 (x1, y2+1)와 (x2+1, y1)에는 -d하는 연산으로 치환한다. 이렇게 치환한 상황에서 (x, y)에 위치한 씨앗의 개수는 [1, x]×[1, y]에 있는 씨앗의 개수를 계산하는 연산으로 치환된다. 아래의 코드를 참고하자. B. 로스팅하는 엠마도 바리스타입니다 어떤 정점 X를 루트로 하는 트리를 가정하자. 이 때 다른 정점들에서 X로 이르는 최단거리의 합 S(X)에 대해 관찰하자. 트리에서 임의의 두 정점 사이를 잇는 경로는 .. 2018. 4. 9.