https://github.com/Dev-Guccin
Guccin
https://github.com/Dev-Guccin
전체 방문자
오늘
어제
  • 분류 전체보기 (172)
    • 알고리즘 (140)
    • 삽질방지 (13)
    • SystemHacking (1)
    • 일상 (4)
    • 개발 (8)
    • 스프링 부트 REST API 개발일지 (5)
    • JPA (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 재귀
  • DP
  • heapq
  • 다익스트라
  • 유니온 파인드
  • counter
  • 다이나믹프로그래밍
  • 그리디
  • 12015
  • 유클리드호제법
  • 재귀함수
  • 백준
  • 스택
  • python3
  • 최대공약수
  • 이분탐색
  • 다이나믹 프로그래밍
  • DFS
  • LIS
  • 파이썬
  • 최소힙
  • 프로그래머스
  • 그래프
  • BFS
  • MST
  • 최단경로
  • Python
  • 큐
  • 백트래킹
  • 이분 탐색

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
https://github.com/Dev-Guccin

Guccin

[dp] 모듈러 분배법칙
알고리즘

[dp] 모듈러 분배법칙

2022. 3. 12. 15:07

코딩테스트를 풀다보면 결과 값이 매우 큰 경우 값의 나머지를 구하라는 문제가 자주 출제된다.
단순히 결과 값에 모듈러 연산을 수행하면 이미 결과값이 너무 커져서 오버플로우가 발생하거나 연산에 시간이 오래 걸리는 경우바 발생한다. 따라서 이럴때 연산 과정 중간에 모듈러 연산을 적용해야 한다.

연산 과정중에 모듈러 연산을 적용하기 위해서는 모듈러 연산의 분배법칙에 대해 알아야한다. 각 피연산자에 모듈러 연산을 취하고 계산 결과에 다시한번 모듈러 연산을 취하면 된다.

( dp[i] + dp[j] ) % C = ( dp[i]%C + dp[j]%C ) %C와 같다.

모듈러 연산의 분배법칙은 덧셈+, 뺄셈-, 곱셈* 에만 적용이 가능하고 나머지 연산에 대해서는 분배법칙을 적용할 수 없다.

저작자표시 (새창열림)

'알고리즘' 카테고리의 다른 글

[python] 조합을 DFS로 구하기  (0) 2022.03.25
[python3] Trie 구현  (0) 2022.03.19
[python3] 백준 1939 풀이 ( 중량제한, MST, 유니온 파인드 )  (0) 2022.03.09
[python3] 백준 1339 풀이 ( 단어 수학, 그리디 )  (0) 2022.03.08
[python] 코테 대비 알고리즘 모듈 정리  (0) 2022.03.06
    '알고리즘' 카테고리의 다른 글
    • [python] 조합을 DFS로 구하기
    • [python3] Trie 구현
    • [python3] 백준 1939 풀이 ( 중량제한, MST, 유니온 파인드 )
    • [python3] 백준 1339 풀이 ( 단어 수학, 그리디 )
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin

    티스토리툴바