[권혁준-20주차 알고리즘 스터디] #82
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🚀 싸피 15반 알고리즘 스터디 20주차 [권혁준]
📌 문제 풀이 개요
✅ 문제 해결 여부
💡 풀이 방법
문제 1: 유전자
문제 난이도
Gold 3
문제 유형
접근 방식 및 풀이
행렬 곱셉 순서 문제와 비슷하게 구간 DP로 접근했습니다.
dp[i][j] = i~j 범위의 부분 서열에서 가능한 최대 KOI 유전자 길이
이렇게 하면$O(N^3)$ 에 구할 수 있습니다.
문제 2: 장난감 조립
문제 난이도
Gold 2
문제 유형
접근 방식 및 풀이
부품들 간의 관계 X, Y, K의 의미가 "X를 만드는 데 Y가 K개 필요하다"는 뜻이니까,
Y -> X 방향 간선의 가중치를 K로 설정하기로 생각했습니다.
이렇게 해서 만들어지는 방향 그래프의 진입 차수가 0인 점들이 기본 부품이 됩니다.
위상 정렬의 순서대로, 간선을 이용할 때마다 다음 부품에게 필요한 상태를 전이해줍니다.
문제 3: 계보 복원가 호석
문제 난이도
Gold 2
문제 유형
접근 방식 및 풀이
X의 조상 중에 Y가 있다는 것은, Y -> X로의 간선이 원래 트리 상에 존재할 수도 있다는 뜻입니다.
가문의 시조를 구하는 것은 진입 차수가 0인 점을 구하는 것이니까 쉬운데,
이 시조로부터 위상 정렬을 했을 때 큐에 넣게 되는 순간만이 진짜 간선이 존재하는 것임을 알아차리기 어려웠습니다.
문제 4: ABBC
문제 난이도
Gold 3
문제 유형
접근 방식 및 풀이
C는 오직 B에만 영향을 받고, (B,C) 쌍이 소거되어도 (A,B) 시행에 전혀 손해를 주지 않습니다.
따라서, (B,C) 쌍에 대한 시행을 먼저 다 해줬습니다.
이 때, 어떤 B와 매칭되는 C는 가장 가까워야 합니다.
그 다음으로, (A,B) 쌍에 대한 시행도 위와 똑같이 해주면 됩니다.
문제 5: 제자리 멀리뛰기
문제 난이도
Gold 2
문제 유형
접근 방식 및 풀이
지난 주에 풀었던
레이스
문제와 비슷하게 해결했습니다.시작점이 0으로 고정되어 있어서, 특정 매개 변수에 대한 valid 체크 방식이 더 쉬웠습니다.
변수 x에 대해 valid를 확인할 때,
단순히 0으로부터 거리 x 이상의 첫 돌을 고른 뒤, 이 작업을 반복합니다.
고른 돌의 수가 N-M 이상일 때 valid입니다.