Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Feb 18, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/14699

🧭 풀이 시간

50분

👀 체감 난이도

✏️ 문제 설명

  • $N$개의 쉼터와 두 쉼터 사이를 오갈 수 있는 $M$개의 길이 주어진다.
  • 각 쉼터는 서로 다른 높이를 가지며, 길을 통해 높이가 더 높은 곳으로만 갈 수 있다.
  • 각각의 쉼터에서 출발해서 최대 몇 개의 쉼터를 방문할 수 있는지 구해보자.

🔍 풀이 방법

[사용한 알고리즘]

  • 정렬
  • 그래프
  • DP

  • 높이가 모두 다르고 항상 더 높은 곳으로만 이동할 수 있기 때문에, 그래프를 형성해도 사이클이 생기지 않는다.
  • 따라서, 높이가 낮은 곳부터 방문하며 DP배열에는 지금까지 지나온 가장 긴 경로 길이를 저장해두면 된다.
  • 쉼터 $y$한 번에 갈 수 있는 점들을 각각 $x_1, \cdots, x_k$라고 하면, $DP[y] = \max \limits_{1 \le i \le k}(DP[x_i]) + 1$ 이다.

⏳ 회고

  • 문제를 잘못 읽어서 오늘 나왔던 2번 문제랑 똑같은 문제인 줄 알았다..
  • 문제를 꼼꼼히 읽자 !! 제발 !!!

@oncsr oncsr self-assigned this Feb 18, 2025
@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Feb 18, 2025
@oncsr oncsr merged commit 437e6d3 into main Feb 18, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants