본문 바로가기

전체 글

(117)
백준 15710번: xor 게임 www.acmicpc.net/problem/15710 15710번: xor 게임 첫째 줄에 정수 a, b (0 ≤ a, b < 231), n(0 < n ≤ 109)이 공백으로 구분되어 주어진다. www.acmicpc.net xor 연산에 대해 잘 모르면 해결하기 어려운 문제입니다. 먼저 몇 가지 예시를 통해 생각해봅시다. 예를 들어, $10111011_{\left( 2 \right)}$ 과 xor연산을 해서 $00000111_{\left( 2 \right)}$ 이 되는 수가 있을까요? 네, $10111100_{\left( 2 \right)}$ 이 바로 그런 숫자입니다. 그러면 $10111011_{\left( 2 \right)}$ 과 xor연산을 해서 $11100111_{\left( 2 \right)}$이..
백준 15717번: 떡파이어 www.acmicpc.net/problem/15717 15717번: 떡파이어 나이를 먹는 방법의 가짓 수를 109 + 7로 나눈 나머지를 출력하시오. www.acmicpc.net 본문을 읽어보면 바로 직전 글과 비슷한 부분이 있다고 느끼실 수 있을 것 같습니다. (백준 18291번: 비요뜨의 징검다리 건너기) 실제로 $N$ 세를 먹는 방법을 $X_{N}$이라고 했을 때, $X_{N}$과 $X_{N+1}$의 관계식이 정확히 똑같이 나오게 됩니다. 그런데 $N=1$일 때의 경우의 수가 $X_{1}=1$ 인데 $N=2$일 때의 경우의 수가 $X_{2}=2$ 이므로, 비요뜨의 징검다리 문제와는 다른 식이 나오게 됩니다. 즉, $X_{N}=2^{N-1}$ 입니다. 또한 $N=0$인 경우가 입력으로 주어지므로 $X..
백준 18291번: 비요뜨의 징검다리 건너기 www.acmicpc.net/problem/18291 18291번: 비요뜨의 징검다리 건너기 강을 건너는 방법은, (1 → 4), (1 → 2 → 4), (1 → 3 → 4), (1 → 2 → 3 → 4)의 4가지이다. www.acmicpc.net 이런 문제는 규칙이 한 번에 보이지 않으면 N을 1에서부터 차근차근 키워보며 규칙을 찾는 방법이 좋다고 생각합니다. $N=1$일 때, 경우의 수는 1가지 밖에 존재할 수 없습니다. $N=2$일 때, 경우의 수는 마찬가지로 1가지 밖에 존재할 수 없습니다. $N=3$일 때, 경우의 수는 $1\rightarrow 2\rightarrow 3$ $1\rightarrow 3$ 2가지 입니다. $N=4$일 때, 경우의 수는 $1\rightarrow 2\rightarrow..
백준 14731번: 謎紛芥索紀 (Large) www.acmicpc.net/problem/14731 14731번: 謎紛芥索紀 (Large) 성민이는 이번 학기에 미적분학 과목을 수강하고 있다. 다항함수의 미분 단원 과제를 하던 도중 미분을 하기가 귀찮아진 성민이는 미분하려는 함수 f(x)가 주어지면, 미분 된 함수 f’(x)를 자동 www.acmicpc.net 사진에서 세번째 줄에서 따온 문제입니다. 힌트에서 혹시 다항함수를 어떻게 미분할 지 모르는 경우를 위해 다항함수를 미분하는 예시를 보여줬습니다. 참고로 small 문제는 (www.acmicpc.net/problem/14730) 좀 더 간편하게 미분 된 함수의 계수의 합만 구하는 걸로 출제되었습니다. 이 Large문제는 $N$개의 $K$, $C$를 입력받을 때 $C\times K\times 2^..
백준 13172번: Σ www.acmicpc.net/problem/13172 13172번: Σ 모듈러가 11에서 1,000,000,007이 되어 답이 달라졌지만, 역시 3을 곱한 다음 1,000,000,007으로 나눈 나머지는 7이 된다. www.acmicpc.net 본문이 꽤 길지만 잘 읽어보면 기댓값의 선형성, 모듈러 곱셈 역원과 페르마 소정리 등의 내용을 담고 있는 좋은 글입니다. 입력제한으로 $ N_{i} $와 $ S_{i} $가 $ 10^{9}+7 $ 보다 작게 주어진다고 써져있으므로 페르마의 소정리를 그대로 적용할 수 있습니다. 모듈러 곱셈 역원을 페르마의 소정리로 계산할 때 $ O\left( logN \right ) $으로 구해주면 충분합니다. 이때 $S_{i}$가 $N_{i}$로 나눠떨어질 때와 아닐 때를 구분해..
백준 1160번: Random Number Generator www.acmicpc.net/problem/1160 1160번: Random Number Generator 첫째 줄에 6개의 정수 m, a, c, X0, n, g (m, a, c, X0, n ≤ 1018, g ≤ 108)가 차례대로 주어진다. a, c, X0는 음이 아닌 정수이고 m, n, g는 양의 정수이다. www.acmicpc.net 수열 $ X_{n} $ 의 점화식이 $ X_{n+1} = aX_{n}+c $ (mod $ m $) 으로 주어져 있습니다. 일반화된 식을 얻기 위해 점화식을 계속하여 풀어보면, 다음과 같은 결과가 나옵니다. $ X_{n+1}=aX_{n}+c=a^{2}X_{n-1}+c\left ( a+1 \right )=\cdots=a^{n+1}X_{0}+c\left ( a^{n}+\cd..
백준 15712번: 등비수열 www.acmicpc.net/problem/15712 15712번: 등비수열 첫째 줄에 a, r, n, mod가 공백으로 구분되어 주어진다. a, r, n, mod는 모두 1보다 크거나 같고, 109보다 작거나 같은 자연수이다. www.acmicpc.net 등비수열의 합은 $ a+ar+ar^{2}+\cdots+ar^{n-1} $ 입니다. 이는 a로 묶어보면 $ a\left ( 1+r+r^{2}+\cdots+r^{n-1} \right ) $ 입니다. 조금 뜬금없지만 이 행렬을 관찰하면, $ \begin{pmatrix} r & 0 \\ a & 1 \end{pmatrix} $ 이 사실을 발견할 수 있습니다. $ \begin{pmatrix} r^{2} & 0 \\ a\left ( r+1 \right ) & 1 ..
백준 14440번: 정수 수열 www.acmicpc.net/problem/14440 14440번: 정수 수열 첫째 줄에 x, y, a0, a1, n이 주어진다. (1 ≤ x, y ≤ 99, 0 ≤ n < 108) a0과 a1은 A0, A1의 마지막 두 자리이다. www.acmicpc.net 이전글 (백준 11366번: Tons of Orcs, no Fibbin') 이 기존 피보나치 수열에서 $ F_{0} $ 과 $ F_{1} $ 을 변형한 것이라면, 이번 문제는 $ A_{n+2}=x\times A_{n+1}+y\times A_{n} $ 으로, 피보나치 수열이 증가하는 규칙을 변형한 것입니다. 따라서, 다음 식과 같이 풀면 됩니다. (이때 $ x=y=1 $ 인 경우가 기존의 피보나치 수열) $ \begin{pmatrix} A_{n+1}..