-
#2 Dynamic Programming2022 ICPC 신촌 겨울 알고리즘 캠프 (중급) 2022. 1. 20. 01:07728x90
probability dp(확률 dp)
확률과 기댓값은 다르다.
ex)
1. 정육면체 주사위를 던질 때 1이 나올 확률?
1/6
2. 정육면체 주사위를 던질 때 1이 나올 때까지 던지는 횟수의 기댓값은? = 61번 던졌을 때 1이 나올 확률(1/6)
+ 2번 던졌을 때 1이 나올 확률(5/6(1이 처음에 안나올 확률) * 1/6(1이 그다음에 나올 확률) * 2)
+ 3번 던졌을 때 1이 나올 확률
(5/6(1이 처음에 안나올 확률) * 5/6(1이 두번째 던졌을때도 안나올 확률) * 1/6(1이 나올 확률) * 3)
+ ......
다음과 같은 식으로 표현할 수 있다.
3. 정육면제 주사위를 던질 때 나온 수의 기댓값은?
(1/6 * 1) + (1/6 * 2) + (1/6 * 3) + (1/6 * 4) + (1/6 * 5) + (1/6 + 6)
Tree dp
tree는 cycle이 없는 연결된 그래프
백준 15681 (트리와 쿼리) c++
문제 15681번: 트리와 쿼리 트리의 정점의 수 N과 루트의 번호 R, 쿼리의 수 Q가 주어진다. (2 ≤ N ≤ 105, 1 ≤ R ≤ N, 1 ≤ Q ≤ 105) 이어 N-1줄에 걸쳐, U V의 형태로 트리에 속한 간선의 정보가 주어진
riveroilstone.tistory.com
bit dp
bit를 활용하는 dp 형태
n개의 bit로 표현할 수 있는 수는 총 2^n 인걸 이용해서,
n<=20 일때, dp[n] = n의 i번째 bit가 켜져 있으면, i번째 값이 선택 되어 있는 상태
주어진 문제 에서 n이 작을 때 위와 같이 dp를 정의하면 dp로 쉽게 풀리는 문제들이 존재한다.
백준 2098 (외판원 순회) c++
문제 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어
riveroilstone.tistory.com
'2022 ICPC 신촌 겨울 알고리즘 캠프 (중급)' 카테고리의 다른 글
#6 Sparse_table, LCA, Offline_query (0) 2022.02.03 #5 Problem-Solving (0) 2022.02.01 #4 Segment Tree (0) 2022.01.28 #3 Games (0) 2022.01.26 #1 Number theory, Simple math (0) 2022.01.12