-문제: https://www.acmicpc.net/problem/11660

 

11660번: 구간 합 구하기 5

첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네

www.acmicpc.net

 

-정답 풀이1:

  • 1~2번 라인 입력 해줘야 시간초과 발생하지 않는다 
  • dp인덱스는 i,j 모두 +1씩 해줘야 계산하기 편함

-정답 풀이2:

 

-틀린풀이:

  • 간단하게 for문 두개로 풀려고 했는데 이게 O(n^2)라서 시간초과가 발생한다 

 

 

-문제풀이 원리는 https://claude-u.tistory.com/427 여기를 참고했다. 

 

-문제: https://www.acmicpc.net/problem/9184

 

9184번: 신나는 함수 실행

입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다.

www.acmicpc.net

점화식이 문제에 주어져있었던 문제라 메모이제이션을 하면 되는 걸 알았지만 어떻게 메모이제이션을 할지 몰랐다

a,b,c 인자가 세개 이므로 1x3행렬을 만들어서 메모이제이션하고 그 값을 리턴해주면 된다

 

-정답풀이:

  • 여기서 23번째 줄에 '=' 앞 뒤에 띄어쓰기를 안 줘서 엄청 틀렸다; 30분 동안 헤맸음 
  • 답 출력할 때는 문제에서 주어진 답 형태로 출력해야함
  • 1) 메모이제이션 하는 법 익히고 2) 답 정확히 출력하는 것 익히자 

-문제: https://www.acmicpc.net/problem/9252

 

9252번: LCS 2

LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다.

www.acmicpc.net

 

-정답풀이:

  • findit()이 자기 이해가 잘 가지 않아서 복습해야할 것 같다
  • lcs 값 구하는 것은 이해 완 

 

-문제 이해:

  • 왼쪽 (1,3)부터 오른쪽 아래로 1,2,3,4에 해당하는 문자들을 출력하면된다
  • 근데 이거를 어떻게 구현하는지 잘 몰랐음 

 

  • 특정 인덱스의 왼쪽,위쪽 값을 비교해서 근방에서 최댓값이면 해당 문자를 넣고, 아니면 왼쪽이나 위로 움직이면 된다 

-문제: https://www.acmicpc.net/problem/2096

 

2096번: 내려가기

첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다.

www.acmicpc.net

풀이 이해는 어렵지는 않았는데 0,1,2번째 컬럼과 최댓값,최솟값 등 고려해야하는 단계가 많아서 메모리초과 발생

정답풀이로 푸는 방법 익혀보자 

 

-정답풀이: 

-틀린풀이: 

+ Recent posts