Loading...
2023. 3. 19. 20:59

피사노 주기를 이용한 피보나치 수열 해법

1. 피사노 주기 피보나치 수열을 자연수 n으로 나눈 나머지가 일정한 주기를 이룬다는 것을 1960년 IBM의 한 직원이 증명했다 예를 들어 0,1로 시작하는 피보나치 수열을 3으로 나눈 나머지는 위와 같이 0,1,1,2,0,2,2,1이 반복된다는 것을 알 수 있다 2. 연습문제 9471번: 피사노 주기 (acmicpc.net) 9471번: 피사노 주기 첫째 줄에 테스트 케이스의 개수 P가 주어진다. 각 테스트 케이스는 N과 M으로 이루어져 있다. N은 테스트 케이스의 번호이고, M은 문제에서 설명한 m이다. www.acmicpc.net 추가로 몇가지 성질이 있다고 제시해주는데 어쨌든 이 문제는 피보나치 수열을 자연수 m으로 나눈 나머지가 주기를 이룬다는 사실을 알고 코딩을 해서 반복되는 수열의 길이를 ..

우선순위 큐 재활하면서 응용력 키우기1 -카드 정렬하기, N번째 큰 수

1. 문제1 1715번: 카드 정렬하기 (acmicpc.net) 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 2. 풀이 문제를 잘 보면 매 순간 최소인 얘들을 더해나가면 최적이 될 것 같다는 생각이 든다 우선순위 큐에 주어진 수를 모두 넣는다 큐가 빌때까지 정수를 2개 뽑아, 두 수를 더한 다음에, 다시 우선순위 큐에 넣어준다. 그러니까, 10, 20, 40이 있는데, 10,20을 뽑아 10+20을 한 다음에 40을 바로 뽑는게 아니고, 30을 우선순위 큐에 넣어서 30,40이 된 상태에서,..

위상정렬 재활치료하기 - 그래프에 사이클이 존재하여 정렬이 불가능한경우

1. 위상정렬 가볍게 복습 그래프의 노드를 정렬하는 위상정렬 정복하기 (tistory.com) 그래프의 노드를 정렬하는 위상정렬 정복하기 1. 개요 위상 정렬(topology sort)은 정렬 알고리즘의 일종 위상 정렬은 순서가 정해져 있는 일련의 작업을 차례대로 수행해야할 때 사용할 수 있는 알고리즘 이론적으로, 위상 정렬은 방향 그래프의 deepdata.tistory.com 1) 그래프를 만들면서, 각 노드의 진입차수(indegree)를 세준다. 2) 진입차수가 0인 노드를 큐에 모두 넣는다. 3) 큐가 빌때까지 다음을 반복 3-1) 큐에서 노드를 하나 빼고, 결과 리스트에 넣어준다. 3-2) 3-1)에서 뺀 노드에서 출발하는 모든 간선을 제거 3-3) 3-2) 후에 노드의 진입차수가 0이 된 노드는..

문자열 비교 응용 - 다시 처음부터 되돌아가면서 비교해야할때

1. 문제 5555번: 반지 (acmicpc.net) 5555번: 반지 당신은 N개의 반지를 가지고 있다. 각각의 반지는 대문자 10 문자로 이루어진 문자열이 새겨져 있다. 반지는 문자열의 시작과 끝이 연결된 형태로 문자가 새겨져 있다. 반지에 각인된 문자열을 www.acmicpc.net 2. 풀이 보통 target 문자열 찾을때는 한줄 안에서 똑같이 있는지 찾았지만 이 문제는 target 문자열이 뒤로 넘어가면 다시 처음부터 되돌아가야한다 ZAAAAAAAXY에서 XYZ를 찾고자 할때, Z XY 하면 하나를 찾을 수 있다는 뜻 어떻게 할 수 있을까 찾고자 하는 문자열 XYZ의 길이가 3이고 처음부터 끝까지 순회하는데... ZAAAAAAAXY XYZ에 도달하면 끝인데.. 여기서 YZ는 다시 처음 2글자 Z..

파이썬으로 두 행렬 곱하기 구현하는 방법

1. 문제 2740번: 행렬 곱셈 (acmicpc.net) 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 2. 풀이 n*m행렬과 m*k 행렬을 곱하면, n*k행렬이 되며, n*k 행렬의 원소 $c_{ij}$는 다음과 같이 정의될 것이다 $$c_{ij} = \sum_{w = 0}^{k-1} a_{iw}b_{wj}$$ 이차원 리스트를 적절히 정의하고, i,j,w의 3중 for문으로 행렬 곱셈을 만들 수 있다 from sys import stdin n,m = map(int,stdin.readli..

2023. 3. 10. 23:58

삼각형의 내접원의 반지름과 방접원의 반지름의 관계식

방접원과 내접원의 반지름을 이용한 관계식과 헤론의 공식 유도 : 네이버 블로그 (naver.com) 방접원과 내접원의 반지름을 이용한 관계식과 헤론의 공식 유도 안녕하세요 월조입니다 :) 오늘은 방접원의 반지름과 내접원의 반지름 사이의 관계식에 대해서 포스팅해보... blog.naver.com 1. 방접원의 성질 접선의 길이는 서로 같기 때문에 CE = CH이고 BH = BD이고 AD = AE이다. 그러므로 삼각형 ABC의 둘레는 2(x+y+z)가 된다. 여기서 BP = y'이고 CQ = z'이라고 하자. 원의 접선, 원의 접선의 길이 – 수학방 (mathbang.net) 원의 접선, 원의 접선의 길이 현에 대한 두 번째로 현의 길이에 대한 내용입니다. 원에 대해서 계속하고 있는데, 생각보다 어렵지 않죠..