본문 바로가기 메뉴 바로가기

My life story

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

My life story

검색하기 폼
  • 분류 전체보기 (257)
    • 여행 (56)
      • 일본 (48)
      • 대만 (4)
      • 태국 (4)
    • 알고리즘 (172)
      • 삼성 SW테스트 (29)
      • BFS (25)
      • Binary search (4)
      • Bipartite matching (6)
      • Brute force (2)
      • Convex hull (5)
      • DFS (4)
      • Dijkstra (4)
      • Dynamic Programming (32)
      • Greedy (11)
      • Implementation (11)
      • LCA (4)
      • Math (3)
      • MCMF (3)
      • Min cut (1)
      • Minimum vertex cover (2)
      • MST (3)
      • Network flow (6)
      • Segment tree (7)
      • Simulation (1)
      • SCC (3)
      • Topological sorting (2)
      • Tree (2)
      • Trie (1)
      • 그 외 (1)
    • 개발 (26)
      • C++ (10)
      • C# (10)
      • Docker (3)
      • 그 외 (3)
    • 네트워크 (1)
    • 일상 (0)
    • 생존신고 (2)
  • 방명록

Maximum White Subtree (1)
Codeforces Round #627) F. Maximum White Subtree ( C / C++)

1. 문제 링크 https://codeforces.com/contest/1324/problem/F Problem - F - Codeforces codeforces.com 2. 문제 개요 n개의 정점, n-1개의 간선을 가진 tree가 주어진다. 트리의 값이 0이면 black, 1이면 white이다. 3. 문제 힌트 DP top-down , bottom - up 2가지를 모두 써야 한다. dp[index]를 정의해야 하는데, dp[next] += max(dp[cur],0) 모두 연결된 간선에 대해서 max를 반복해야 할 것이다. 4. 문제 풀이 힌트의 의미를 문제의 흐름과 함께 풀어보자. 일단 dp의 초기값은 검은색이면 -1, 흰색이면 1로 두고 시작하자. 예제의 그림을 보면, 다음과 같다. 루트는 의미 ..

알고리즘/Dynamic Programming 2020. 4. 11. 00:27
이전 1 다음
이전 다음
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바