Ch05. 정수론

이 부분은 백준 단계별 풀어보기_정수론 에서 유클리드 호제법 등을 사용했던 게 큰 도움이 되었다.

기초 내용은 초,중,고등학교 때 배웠던 내용을 복습하는 느낌이었다.

  • 약수와 배수

  • 소인수 분해

  • 약수

  • 이진법

  • 유클리드 알고리즘 : 두 수의 최대공약수를 구하는 알고리즘

    • 유클리드 호제법 증명

      KakaoTalk_Photo_2021-12-14-13-18-41

    • 유클리드 알고리즘 백준 풀이 (백준-1934)

      #유클리드 호제법 -> 최대공약수 -> 최소공배수
      import sys
      input=sys.stdin.readline
          
      class UC:
          def read(self):
              self.n=int(input())
              self.info=[list(map(int,input().split())) for _ in range(self.n)]
          def solve(self):
              for pb in self.info:
                  r=float("inf")
                  pb=sorted(pb)
                  a=pb[0]
                  b=pb[1]
                  while r>0:
                      r=pb[1]%pb[0]
                      pb[1]=pb[0]
                      pb[0]=r
                  print((pb[1])*(a//pb[1])*(b//pb[1]),end='\n')
      uc=UC()
      uc.read()
      uc.solve()
      

Ch06. 경우의 수 세기와 비둘기집의 원리

  • 경우의 수 : 일어날 수 있는 모든 사건의 수

  • 합의 법칙

  • 곱의 법칙

  • 포함 - 배제의 원리

  • 순열과 조합

      순서를 고려 순서 고려 X
    반복 허용 중복 순열 중복 조합
    반복 불허 순열 조합
    • 중복 순열 : n**r (n개 -> n개 -> n개 …)

    • 중복 조합 : (n+r-1)C(r)

      r개의 빈칸에 n-1개의 칸막이를 쳐서 총 n개의 공간을 만들어 각 공간에 있는 개수만큼 해당 원소를 추출하는 경우 ex. 1~9 까지의 자연수 중 중복을 허용하여 3개를 뽑아 숫자 10을 만드는 경우의 수

      case 1 )

      스크린샷 2021-12-14 오후 1 32 40

  • 이항 정리

    KakaoTalk_Photo_2021-12-14-13-34-42

  • 파스칼 항등식

    특징 1.

    스크린샷 2021-12-14 오후 1 37 14

    특징 2.

    스크린샷 2021-12-14 오후 1 37 31

  • 비둘기 집의 원리 응용 : ex. 8명의 학생이 있다면 반드시 생일의 요일이 같은 2명의 학생이 있다.

Ch07. 점화관계

  • 점화 관계 : 수열 {a(n)} 이 있을 때, a(n) 을 a(n-1),a(n-2), … , a(0) 에 관한 식으로 표현한 것.

  • 점화 관계 푸는 법

    KakaoTalk_Photo_2021-12-14-13-44-10

    KakaoTalk_Photo_2021-12-14-13-44-17

    점화관계는 시간 복잡도를 구하는 데 유용함 !

    KakaoTalk_Photo_2021-12-14-13-48-40

Ch08. 그래프론 (이산수학적 그래프 개념, cf. 자료구조)

  • ‘인접하다’ : 정점끼리 연결되었을 때
  • ‘근접하다’ : 정점과 변이 연결되었을 때
  • 루프
  • 다중그래프
  • 방향 그래프
  • 가중치 그래프
  • 차수 : 점 v 에 근접하는 변의 개수
    • 외차수 : 점 v 를 출발점으로 하는 변의 수
    • 내차수 : 점 v 를 도착점으로 하는 변의 수
  • 경로 : 같은 변을 두 번 이상 포함하지 않는 길

  • 연결그래프 : 임의의 점 u,v 사이에 경로가 있는 그래프

  • 완전그래프 : 모든 점 사이에 변이 있는 그래프

  • 이분그래프 : 한 점은 v1 부분집합에, 한 점은 v2 부분집합에 있는 그래프 -> 분리 가능한 그래프

  • 부분그래프

  • 회로 : 한 점에서 출발하여 자기 자신으로 돌아오는 경로

  • 오일러 경로 : 모든 모서리를 꼭 한번씩만 지나는 경로

  • 오일러 회로 : 모든 모서리를 꼭 한번씩만 지나는 회로

    • 오일러 회로 필요충분 조건 : 모든 차수가 짝수여야 한다
  • 해밀턴 회로 : 모든 점을 꼭 한 번씩만 지나는 회로

    KakaoTalk_Photo_2021-12-14-14-00-26

  • 인접 리스트

  • 인접 행렬

  • 정리 ) 만약 A 가 그래프의 인접 행렬이라면 A**n 의 i행 j열의 값은 V(i) 에서 V(j) 로 가는 길이 n짜리 길의 개수이다

KakaoTalk_Photo_2021-12-14-14-03-29

KakaoTalk_Photo_2021-12-14-14-04-32