7. 𝑓 𝑥 를 1000000007로 나눈 나머지 값을 구해야 하는데
𝑓 𝑘 =
𝑛 + 1 𝑘+1 − 1 − 𝑝=0
𝑘−1 𝑘+1
𝑝
𝑓 𝑝
𝑘+1
𝑘
분모에 저 𝑘+1
𝑘
은 어떻게 할까?
곱셈의 역원을 곱해주자!
https://www.acmicpc.net/problem/1492
합
8. p = 1000000007이 소수이므로 오일러의 정리에 의해서
P와 서로소인 정수 𝑎 에 대해 𝑎 𝑝−1
≡ 1(mod p)
따라서 𝑎 𝑝−2
을 X에 곱하면 X/ 𝑎 (mod p)가 구해지겠구나!
𝑓 𝑘 = 𝑛 + 1 𝑘+1
− 1 −
𝑝=0
𝑘−1
𝑘 + 1
𝑝
𝑓 𝑝 ×
𝑘 + 1
𝑘
𝑝−2
https://www.acmicpc.net/problem/1492
합
9. 조합(Combination)은 파스칼 삼각형으로 구하면 편해요.
𝑎 𝑏을 빠르게 계산하기 위해 다음과 같은 방법을 쓰세요.
Power(a, b) {
if (b == 0) return 1;
if (b == 1) return a % mod;
x = Power(a, b/2);
if (b&1) return a*((x*x) % mod) % mod;
return (x*x) % mod;
}
https://www.acmicpc.net/problem/1492
합