분류 전체보기 59

백준 1420번: 학교 가지마! (Max Flow Min Cut)

문제링크: 1420번: 학교 가지마! (acmicpc.net) 1420번: 학교 가지마! 첫째 줄에 도시의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 100) 둘째 줄부터 N개의 줄에 도시의 모양이 주어진다. 비어있으면 점('.'), 벽은 '#', 도현이의 위치는 K, 학교의 위치는 H이다. www.acmicpc.net 이 문제는 NxM 크기의 도시에 도현이의 위치와 학교의 위치와 벽의 위치가 주어졌을 때, 도현이가 학교에 갈 수 없게 하려면 최대 몇개의 벽을 세워야 하는지 구하는 문제이다. 최대 개수와 최소 개수를 생각해 보면 최소 개수는 도현이와 학교가 이미 분리된 위치에 있을 때 0, 따로 있을때 학교를 상하좌우로 막은 경우 4 이렇게 최소 0, 최대 4를 가질 수 있다. 이 ..

백준 2023.02.22

백준 13547번: 수열과 쿼리 5 (Mo's)

문제링크: 13547번: 수열과 쿼리 5 (acmicpc.net) 13547번: 수열과 쿼리 5 길이가 N인 수열 A1, A2, ..., AN이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오. i j: Ai, Ai+1, ..., Aj에 존재하는 서로 다른 수의 개수를 출력한다. www.acmicpc.net 이 문제는 길이가 N인 수열에서 (i, j)가 입력인 쿼리가 주어졌을때 i번째 수부터 j번째 수까지 다른 수의 개수를 출력하는 쿼리를 구현하는 문제이다. 이 문제를 풀기 위해서는 mo's 알고리즘에 대해 알고 있어야 한다. mo's 알고리즘은 주어진 쿼리들의 순서를 오프라인 쿼리처럼 특정한 방법으로 배열 한 뒤, 이전의 쿼리의 답을 이용해 가며 다음 쿼리의 답을 구하는 방법이다. 여기서 ..

백준 2023.02.22

cs231n Assignment 2: Q6 (Saliency map, Fooling images, Class visualization 구현)

내 풀이 링크:https://github.com/lionkingchuchu/cs231n.git GitHub - lionkingchuchu/cs231n: cs231n Spring 2022 Assignment cs231n Spring 2022 Assignment. Contribute to lionkingchuchu/cs231n development by creating an account on GitHub. github.com 다음은 Network Visualization 에 대한 과제이다. 유튜브에 있는 cs231n강의는 Network visualization을 RNN 강의 뒤에서 다루지만, 과제에서는 왠지 모르게 Assignment 2에 있다. 유튜브의 강의가 2017년 버전이고 Assignment는 2..

cs231n 2023.02.21

cs231n Assignment 2: Q5 (Pytorch 사용해보기)

내 풀이 링크:https://github.com/lionkingchuchu/cs231n.git 이번 과제는 본격적으로 framwork 를 사용해서 신경망을 구현해 볼 차례이다. 우리가 framework를 사용하는 이유는 먼저 framework의 미리 구현된 함수가 간편한 것도 있지만, framework를 사용하면 GPU를 사용해 계산을 처리하는 것이 쉽게 가능하기 때문이다. 우리가 일반적으로 파이썬 코드를 실행하면 보통 CPU에서 계산을 처리하는데, CPU는 10~20개의 코어, 쓰레드를 사용해 직렬로 계산하여 코어가 적은 대신 복잡하거나 긴 수식을 빠르게 계산할 수 있는 반면, GPU는 1000개 이상 단위의 코어를 사용해 병렬적으로 계산해 여러개의 간단한 계산을 매우 빠른 속도로 처리할 수 있다. 우..

cs231n 2023.02.20

cs231n Assignment 2: Q4 (CNN, Group Normalization 구현)

내 풀이 링크:https://github.com/lionkingchuchu/cs231n.git GitHub - lionkingchuchu/cs231n: cs231n Spring 2022 Assignment cs231n Spring 2022 Assignment. Contribute to lionkingchuchu/cs231n development by creating an account on GitHub. github.com 이번에는 Convolutional layer를 구현하는 문제이다. 지금까지 이미지 분류를 할 때에는 각 픽셀을 일자로 늘어뜨려서 픽셀의 각 값에 대한 weight를 곱한 고 bias를 더한 output을 배출하는 layer를 여러개 이어붙여 신경망을 만들었다. 그러나 이 방식은 사진 ..

cs231n 2023.02.18

백준 11377번: 열혈강호 3 (Maximum flow)

문제링크:11377번: 열혈강호 3 (acmicpc.net) 11377번: 열혈강호 3 첫째 줄에 직원의 수 N과 일의 개수 M, 일을 2개할 수 있는 직원의 수 K가 주어진다. (1 ≤ N, M ≤ 1,000, 1 ≤ K ≤ N) 둘째 줄부터 N개의 줄의 i번째 줄에는 i번 직원이 할 수 있는 일의 개수와 할 수 있 www.acmicpc.net 이 문제는 최대 유량을 이용해 푸는 문제이다. 기존의 풀었던 최대 유량 (또는 열혈강호 1) 에서 한가지 조건이 추가되는데, 기존에는 한 직원당 할 수 있는 일이 1개로 모두 같게 정해졌다면, 이번 문제는 모든 직원 N명중 K명은 특별히 2개의 일까지 할 수 있다는 조건이 추가된다. 내가 처음에 생각한 방법은 모든 직원에게 용량 2인 간선을 할당 해 주고, 기존..

백준 2023.02.16

cs231n Assignment 2: Q3 (Dropout 구현)

내 풀이 링크: https://github.com/lionkingchuchu/cs231n.git GitHub - lionkingchuchu/cs231n: cs231n Spring 2022 Assignment cs231n Spring 2022 Assignment. Contribute to lionkingchuchu/cs231n development by creating an account on GitHub. github.com 이번 과제는 dropout layer에 관한 것이다 dropout은 한 layer를 지나고 각 뉴런마다의 output값이 있을 때, 일정 비율만큼의 랜덤한 뉴런들을 골라 그 output을 0으로 없애는 것이다. 예시로 dropout ratio가 0.5라면 전체 뉴런의 output값 ..

cs231n 2023.02.15

cs231n Assignment 2: Q2 (Batch Normalization, Layer Normalization 구현)

내 풀이 링크: https://github.com/lionkingchuchu/cs231n.git GitHub - lionkingchuchu/cs231n: cs231n Spring 2022 Assignment cs231n Spring 2022 Assignment. Contribute to lionkingchuchu/cs231n development by creating an account on GitHub. github.com 이번 과제는 batch normalization 에 대한 과제이다. 과제를 하는 중 batch normalization 논문을 보며 도움을 받았다. https://arxiv.org/abs/1502.03167 이고 옆에 Download: PDF 를 누르면 논문을 볼 수 있다. batc..

cs231n 2023.02.14

백준 19585번: 전설 (Trie)

문제링크:19585번: 전설 (acmicpc.net) 19585번: 전설 Sogang ICPC Team에는 색상 이름과 닉네임의 순서로 이여서 팀명을 지으면 ICPC 리저널에서 수상할 수 있다는 전설이 있다. 색상 이름들과 닉네임들이 주어질 때, Q개의 팀에 대해 다음 리저널에서 수 www.acmicpc.net 이 문제는 트라이를 이용하여 문자열을 탐색해 나가는 문제이다. 특이한 점으로는 color을 뜻하는 문자열 C개, name을 뜻하는 문자열 N개가 주어지고 팀 명이 주어지는데, 팀명이 반드시 color 문자열 + name 문자열 형식으로 이루어 져 있는지 판별해야 한다. C, N은 모두 최대 4000개까지 주어질 수 있고, color, name의 문자열 개수는 최대 1000자 이다. 팀의 개수 Q는..

백준 2023.02.06