본문 바로가기
반응형

컴퓨터 사이언스65

[c++] 백준 #9663 N-Queen 너무 유명한 brute force 문제이고, 2~3년 전 쯤 2차원 행렬로 표시해서 풀다가 구현을 잘못해서 잘 안되니 포기했던 문제를 친구가 풀이방법을 설명해줘서 낼름 듣고 바로 푼 문제이다. 내용은 NxN 체스판 위에 N개의 퀸이 서로 공격할 수 없게(가로, 세로, 대각선 x) 두는 경우의 수를 계산하는 것이다. www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net queen의 가로, 혹은 세로 좌표가 다른 queen과 겹치지 않으면 되기 때문에 굳이 2차원 배열을 만들 필요가.. 2021. 1. 24.
[c++] 백준 #10971 외판원 순회 2 이번 문제는 TSP(Travelling Salesman Problem)이라 하여 굉장히 익숙한 내용을 다루는 문제이다. 간단하게 내용을 요약해보자면, N개의 도시를 모두 다 방문하면서 처음 도시로 돌아가려고 할 때 가장 최소의 비용을 출력하는 문제이다. www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 나는 dfs + 비트마스킹으로 문제를 풀었다. 맨처음 시작지점을 1~N까지 모두 돌아가면서 dfs를 돌리면 된다. .. 2021. 1. 24.
[c++] 백준 #1339 단어 수학 취미로 백준 다시 시작했다! 매우 깔끔한 논리로 풀 수 있는 문제였고, 오랜만에 푸는 문제였는데도 쉽게 감을 잡고 풀 수 있을 만큼 구현도 깔끔해서 오랜만의 포스팅으로 들고 왔다. www.acmicpc.net/problem/1339 각각의 알파벳 암호가 어떤 수를 가지고 있는 지 답에서 제시하지 않아도 되므로, 알파벳 정보를 일일이 따지지 않고도 그리디하게 풀기로 했다. 처음 봤을 때는 자리수가 높은 순서대로 알파벳을 맵핑시킨 후 더해주면 된다는 생각이 들지만, 그보다 낮은 자리수의 알파벳이 무엇인지에 따라 답이 바뀔 수 있기 때문에 이를 고려해주는 것이 필요하다. 예를 들면, 2 BC ACC 이렇게 두 수가 있을 때, 두번째 자리수에서 B와 C가 있는데 C의 갯수가 B보다 많기 때문에 A를.. 2021. 1. 15.
[딥러닝 뉴비의 좌충우돌 일기] 작은 데이터셋과 augmentation 딥러닝 모델들을 학습시키다보면 데이터가 적은 상황에서 학습 성능이 와리가리하는 경우가 종종 발생한다. 예전에 회사에서 몇 안되는 의료 이미지를 학습시켰을 때도 그렇게 느꼈고, 이번에 수업 과제로 음악 장르 맞추기를 하면서 또다시 느꼈다. 모델의 구조를 바꾸든, 하이퍼 파라미터를 바꾸든, 옵티마이저를 바꾸든 성능 향상이 있나? 해서 여러번 실험을 돌려보면 매번 초기화되는 seed 값에 따라서 성능이 휙휙 바뀌었다. 작은 데이터셋(내 기준으로는 augmentation 제외하고 1000개 정도의 이미지)의 경우에는 특히나 그런 게 더 심했다. 이번에 사용했던 GTZAN이라는 음악 장르 데이터셋은 train + val + test해서 730개 정도밖에 되지 않았다. 그러다보니 weight initializati.. 2020. 11. 10.
반응형