Problem Solving with Algorithms

반응형

 


● 1330 - 다이나믹 프로그래밍 5

트리의 독립집합

그래프의 독립집합은 구할수 없지만, 트리의 독립집합은 다이나믹으로 구할수 있다.

D[V][0]:V가 포함되지않음

 

사회망서비스(SNS) 얼리어답터 문제

 

앞의 문제랑 비슷하다.

 

트리나라

???


1,2,3 더하기 2

k번째를 구하려면 우선 전체 방법의 수를 알아야 한다.

D[n-1]: 1로 시작하는 합의 개수

D[n-2]

D[n-3]: 3으로 시작하는..

 

 

K번째 괄호 문자열

D[N][L]: 길이가 N인 괄호 문자열의 개수

L:짝이 맞지 않은 여는 괄호의 개수

L의 값이 음수가 나오는 경우는 올바른 괄호 문자열이 아니다. 한번 짝이 맞지 않아버리면 그 뒤도 계속 짝이 맞지 않기 때문이다.

D[N][L]: 길이가 N인 괄호 문자열의 개수 -> 중에서 짝이 맞지 않은 문자열이 L개

 

Sequence

3차원으로 풀소도 있고, 2차원으로 풀수도 있다.

 


무한 수열

피보나치수 구하기랑 비슷하기때문에, 다이나믹으로 풀수있지만, N제한이 너무 커서 메모이제이션 할수가 없다.

꼭 탑다운 방식으로 풀어야 하고, 바텀업 방식으로는 구할수 없다. 왜냐면 위의 제한 때문이다.

 

재귀로 탑다운 하면서 메모이제이션을 동적으로 맵으로 만들어준다. 맵으로 할때는 맵의 크기가 0이이상이면, 이렇게 하면됨.

 

 

 

무한 수열 2

앞에 문제랑 식이 조금 다름.

큰수를 나누면 많이 작아지고, 작은수는 작아지면 적게 작아진다. 그래서 작은수에서는 중복이 많이 일어난다. 그래서 작은 수 일때만 메모이제이션 한다.

 

 

 

RPG

남는포인트가 매우 중요하다. 그래야 앞으로 올릴수있는지 없는지 알수있기 때문이다.

 


NP-hard

 

택배

 

 

우체국

 


가로등 끄기

몇개의 가로등을 껐냐 보다 어떤 가로등을 껐냐가 더 중요하다. 어떤 가로등은 두정수 LR로 표현할수있다.

이사람이 지금 어디에 있는지도 매우 중요한 정보이다.

 

시리얼 넘버

 


● 1331 - 다이나믹 프로그래밍 5 (연습)

이친수 찾기

 

 

이진수 찾기

 

 

괄호 문자열

 

 

ntopia

 

 

 

 

모노디지털 표현

 

 

 

 

가장 긴 증가하는 부분 수열 ks

 

 

 


● 1332 - 다이나믹 프로그래밍 5 (도전)

암호

 

 

 

 

워드똑똑

 

 

 

 

행렬 제곱의 합

 

 

 

 

채점

 

 

 

 

팰린드롬

 

 

 

 

팰린드롬 문장

 

 

 

 


 

 

 

반응형
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band