Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Feb 20, 2025

🧷 문제 링크

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

🧭 풀이 시간

30분

👀 체감 난이도

✏️ 문제 설명

  • $N$을 네 개 이하의 제곱수의 합으로 나타내는 방법의 수를 구해보자.

🔍 풀이 방법

[사용한 알고리즘]

  • 이분 탐색

  • $N$이하의 오름차순 제곱수 목록 A를 만든다.

제곱수가 1개인 경우

  • A의 끝 원소가 N인지 확인 -> $O(1)$

제곱수가 2개인 경우

  • 완탐으로 확인 -> $O({|A|}^2)$

제곱수가 3개인 경우

  • 제곱수를 두 개 합친 걸 완탐으로 찾고, 나머지 원소 하나는 이분 탐색으로 찾기 -> $O({|A|}^2 \log{|A|})$

제곱수가 4개인 경우

  • 제곱수를 세 개 합친 걸 완탐으로 찾고, 나머지 원소 하나는 이분 탐색으로 찾기 -> $O({|A|}^3 \log{|A|})$

⏳ 회고

  • 처음엔 DP로 풀려다가, 답이 계속 안 나와서 다른 방법으로 풀게 됨

@ShinHeeEul ShinHeeEul merged commit 64beea2 into main Feb 20, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants