강의자료 324

[알고리즘 수학] 마지막 공의 색깔 맞추기

바구니 안에 빨간공 120개와 파란공 30개가 들어 있다. 이렇게 들어 있는 바구니에서 다음과 같은 절차에 의해 공을 꺼낸다. 1. 두개의 공을 꺼낸다. 2. 만약 두개의 공의 색깔이 같으면 빨간공 한개, 서로 다르면 파란공 한개를 집어 넣는다. 3. 1과 2를 계속 반복한다. 바구니의 마지막 공의 색깔은 어떤 색이 될까? 문제풀이) 바구니 안의 공이 빨간공 120개 파란공 30개 에서 시작을 한다. 만약 두개 모두 빨간공을 꺼냈다면 빨간공이 119개,파란공 30개가 된다. 두개 모두 파란공이었다면 빨간공이 121개,파란공은 28개가 된다. 두개 모두 색깔이 다르다고 하면 빨간공 119개 파란공 30개가 된다. 이것을 확인 했을 때 빨간공은 1개가 줄거나 1개가 늘어난다. 파란공은 0개가 줄거나 2개가 ..

[사고력수학]소인수분해를 이용하여 곱셈연산하기

소인수 분해를 이용하여 계산하기 곱셈 연산을 할 때 소인수 분해를 이용하여 계산하면 계산이 빨라진다. 다음은 문제 풀이 과정의 하나이다. 예제1) 75 * 12를 계산하시오. 문제풀이) (3 * 25) * (3*4) = 3*3 * 25*4= 900 4*25 = 100 이 되는 원리를 이용하여 연산하였다. 예제2) 250 * 48 을 계산하시오. 문제풀이) 250 * 48 = (2*125) * ( 3*2*8) = (3*2*2)*(8*125)=12000 125 * 8 = 1000이 되는 원리를 이용하여 연산하였다. 위의 예시를 보고 다음의 문제를 풀어 보시오. 문제 1) 44 * 25 를 계산하시오. 더보기 4*11*25=1100 문제2) 625 * 16 을 계산하시오. 더보기 6*125*2*8=12000

[알고리즘] 모스알고리즘(Mo's algorithm)

모스알고리즘이란? 모스 알고리즘은 업데이트가 없는 구간 쿼리들을 처리하는 알고리즘이다. 기본 아이디어는 업데이트가 없기 때문에 '앞에서 계산된 값을 최대한 활용하자'이다. 특히 조회만 하는 경우는 쿼리의 순서를 자유롭게 바꿀 수 있는 환경에서 미리 계산된 값을 다시 이용할 수 있을 것이다. 이전에 살펴 보았던 제곱근분할법(https://wondangcom.tistory.com/2721) 을 이용하여 모스알고리즘을 구현 할 수 있는데 이 알고리즘으로 해결할 수 있는 문제는 원소의 수정은 없고 구간 내에서 어떤 결과를 찾는 종류의 쿼리만 있는 문제이다. 그렇다면 기존 문제보다 활용범위가 좁은 것은 아닐까? 간혹 세그먼트 트리 등을 이용해서 해결하지 못하는 경우가 발생한다. 이러한 문제 유형은 아래에서 살펴 ..

[사고력 수학] 숫자를 채워서 계산하기

계산할 때 10,100,1000 과 같이 숫자를 채워서 계산하면 계산이 빨라진다. 다음은 문제 풀이 과정의 하나이다. 예제1) 45 + 78 + 55 + 22 를 계산하시오. 문제풀이) (45 + 55) + (78 + 22) = 200 예제2) 98 + 997 + 8977 을 계산하시오. 문제풀이) (100-2) + (1000 - 3) + (9000 - 23) = 10100 - 28 = 10072 위의 예시를 보고 다음의 문제를 풀어 보자. 문제 1) 154 + 27 + 46 + 173 을 계산하시오. 더보기 문제풀이) (154 + 46) + (27 + 173) = 400 정답) 400 문제2) 1977 + 2302 + 7983 + 9999 을 계산하시오 더보기 문제풀이) (2000 - 23) + (23..

알고리즘 수학] 맥너겟수

맥너겟수란? 맥도날드에서 판매하는 치킨 맥너겟은 처음에 6조각,9조각,20조각으로만 판매했는데 이에 6,9,20의 합으로 얻을 수 있는 자연수를 맥너겟 수라고 한다. 예를 들어 6 + 6 = 12, 6+9+9+9+20=53 이므로 12와 53은 맥너겟 수이다. 맥너겟 수에 맥너겟 수를 더하거나 곱해도 맥너겟 수이다. 곧 덧셈과 곱셈은 맥너겟 수의 집합에 대하여 닫혀 있다. 출처 - https://namu.wiki/w/%EB%A7%A5%EB%84%88%EA%B2%9F%20%EC%88%98 맥너겟 수 - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 ..

[알고리즘] 제곱근 분할법(Sqrt Decomposition)

제곱근 분할법(Sqrt Decomposition)이란? Sqrt Decompostion 의 아이디어는 다음과 같다. 1 2 3 4 5 6 7 8 9 위와 같이 9 개의 원소가 있다면 연속적인 원소들을 하나의 묶음으로 생각한다는 것이다. 이 때 한 묶음을 √N 개로 묶는다( 따라서 Sqrt 라는 이름이 붙는다.) (1,2,3),(4,5,6),(7,8,9) 위와 같이 3개의 그룹으로 묶은 다음 각 그룹에 대푯값을 정한다. 만약 그룹의 합을 구하는 쿼리라고 하면 그룹의 합이 대푯값이 되고 쿼리가 구간의 최댓값을 구하는 쿼리라면 그룹의 최댓값이 구간의 쿼리가 된다. 이러한 제곱근 분할법은 Mo's Algorithm 의 기반이 되는 알고리즘으로 사용된다. 제곱근 분할법(Sqrt Decomposition) 구현 여..

[사고력 수학] 판매한 사과와 배의 개수는

원당이는 과일가게에서 아르바이트를 하고 있다. 원당이가 판 과일을 세어 보니 사과와 배의 개수의 합이 20개였고 총 금액을 보니 9500원이었다. 사과와 배의 판매 개수는 몇 개이겠는가? 여기서 사과의 가격이 300원이었다는 것만 알고 있다. 또한 판매 개수는 각각 6개 이상 이었다면 배의 가격이 최대가 되고 사과와 배의 판매 갯수는 최소가 되었을 때의 사과와 배의 개수는 몇개인가? 문제 풀이) b가 사과의 갯수 a가 배의 갯수, x가 배의 가격이라면 ax + b*300= 9500 a + b = 20 b = 20 - a ax + (20-a)*300=9500 ax - 300a = 9500 - 6000 a = 3500/(x-300) 여기서 3500을 나누어 떨어뜨리는 가장 큰 수를 찾았을 때 최솟값 a를 찾..

[사고력 수학] 땅의 넓이를 계산해 주자.

원당이는 정사각형 모양의 땅을 가지고 있다. 그런데 주변에 땅을 가지고 있던 마전이가 남쪽 부분의 1/3만큼을 잘라서 주면 오른쪽으로 원당이가 가지고 있는 길이의 1/2 만큼 맞춰서 땅을 교환하자고 한다. 즉 원당이의 땅은 세로 방향으로 1/3 만큼 줄고 가로 방향으로 1/2 만큼 늘어나게 된다. 원당이는 이 교환을 수락해야 할까? 만약 이득이라면 얼마만큼의 이득을 볼 수 있는지 계산 해 주자. 문제풀이) 좌측의 원래 땅의 모양이 우측의 땅 모양으로 바뀌었다. 원래 땅의 넓이가 1 이었다면 바뀐 모양의 땅은 2/3 * 3/2 = 1 이다. 결국 원래 넓이와 동일하기 때문에 교환을 수락하는 것은 의미가 없다. 정답) 넓이가 같기 때문에 교환을 할 의미가 없다.(땅의 가치는 모양이나 위치에 따라 다르기 때문..

[초등 3학년 1학기] 백의 자리의 덧셈과 뺄셈(올림/받아내림 없음)

https://ko.khanacademy.org/math/kor-3rd-1/xf61be49f9afc04f2:3-1-1 ​ 1. 덧셈과 뺄셈 | 초등 3학년 1학기 | 수학 | Khan Academy 세 자리 수의 덧셈과 뺄셈의 계산 원리를 이해하고 계산할 수 있으며 일상생활에서 유용하게 활용할 수 있다. 또한 세 자리 수의 덧셈과 뺄셈 상황과 관련된 문제 해결 및 탐구 학습 과정을 통해 ko.khanacademy.org 목표 세 자리 수의 덧셈과 뺄셈의 계산 원리를 이해하고 계산 할 수 있으며 일상 생활에서 유용하게 활용할 수 있다. 또한 세 자리 수의 덧셈과 뺄셈 상황과 관련된 문제 해결 및 탐구 학습 과정을 통해 수학 교과 역량을 강화 할 수 있다. 3자리 숫자 덧셈 뺄셈 연산 시 각 자리수의 연산의..

알고리즘] 최소 절단

최소 절단 알고리즘을 알기 위해서는 절단이라고 불리는 개념을 생각해야 한다. 절단(cut)란 네트워크를 정확히 두래로 쪼개는 것을 의미한다. 문제의 입력으로 시작점 s와 종점 t 가 들어 오기 때문에 우리는 둘로 쪼개는 여러 방법 중에 한쪽에는 s에 속하고 다른쪽엔느 t에 속하도록 하는 절단만을 고려한다. 이것을 s-t절단 이라고 부르는데 이 글에서는 다른 절단에 대해서는 고려하지 않기 때문에 절단이란 s-t 절단을 가르킨다고 생각한다. 그래프 절단이란 어떤 정점 집합 S ⊆ V 에 대해서 s ∈ S 이고 t ∈ V\S 일 때 (S,V\S) 처럼 나타내며 S로부터 나가는 변의 집합을 말한다. 또한 그 용량의 합을 절단의 용량이라고 말하며 절단에 포함된 변을 모두 제거하면 s에서 t까지의 경로가 존재하지 ..