목록2024/02/28 (4)
득이공간
4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net #include #include #include #include #include using namespace std; typedef pair star; typedef tuple edge; vector Stars; vector EdgeList; int Root[100]; float MakeDistance(const star& A, const star& B) { float AX = A.first, AY = A.second; float BX = B.first, BY =..
2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net #include #include #include using namespace std; list Neighbors[1001]; int Entries[1001]; bool Visited[1001]; queue SQ; int Solution[1000]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N, M; cin >> N >> M; for (i..
2342번: Dance Dance Revolution 입력은 지시 사항으로 이루어진다. 각각의 지시 사항은 하나의 수열로 이루어진다. 각각의 수열은 1, 2, 3, 4의 숫자들로 이루어지고, 이 숫자들은 각각의 방향을 나타낸다. 그리고 0은 수열의 마 www.acmicpc.net #include #include using namespace std; const int Infinite = INT_MAX; const int MoveCost[5][5] = { { 0, 2, 2, 2, 2 }, { 0, 1, 3, 4, 3 }, { 0, 3, 1, 3, 4 }, { 0, 4, 3, 1, 3 }, { 0, 3, 4, 3, 1 } }; int DP[100000][5][5]; void Init() { for (int i..
해당 게시물은 한치근 교수님의 '알고리즘' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 8-1 * 키의 비교만으로 검색하는 경우 하한 * 검색(Searching) 문제 - n개의 키를 가진 배열 S와 어떤 키 x가 주어졌을 때, x = S[i]가 되는 첨자 i를 찾는다. - 만약 x가 배열 S에 없을 때는 오류로 처리한다. * 이분(이진) 검색 알고리즘 - 배열이 정렬이 되어 있는 경우 시간복잡도가 W(n) = lgn + 1이 되어서, 매우 효율적인 알고리즘이라고 할 수 있다. - 키의 비교만으로 검색을 수행하는 경우에는 이분 검색 알고리즘 보다 더 좋은 알고리즘은 존재할 수 없다. * 검색의 결정트리(decision tree) - 큰 마디(내부마디) : 키와 각 아이템을 비교하는 마디..