내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
백준 온라인 저지 (BOJ)
»
폰친구
ps:problems:boj:20296
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 폰친구 ====== ===== 풀이 ===== * [[ps:tutorial:composition#상하한이 모두 주어진 경우|상하한이 있는 Composition의 개수]] 를 구하는 문제이다. 링크에서 설명했듯이 [[ps:tutorial:PIE]]나 [[ps:tutorial:생성함수]]를 이용해서 식을 유도한 뒤에 O(N+K)에 구할수 있다. * 이 문제에서는 K<=N*M으로 주어지므로 시간복잡도가 O(N*M) ===== 코드 ===== <dkpr py> """Solution code for "BOJ 20296. 폰친구". - Problem link: https://www.acmicpc.net/problem/20296 - Solution link: http://www.teferi.net/ps/problems/boj/20296 Tags: [combinatorics] """ from teflib import combinatorics MOD = 10**9 + 7 def main(): N, m, M, K = [int(x) for x in input().split()] print(combinatorics.count_compositions(K, N, MOD, lo=m, hi=M)) if __name__ == '__main__': main() </dkpr> * Dependency: [[:ps:teflib:combinatorics#count_compositions|teflib.combinatorics.count_compositions]] {{tag>BOJ ps:problems:boj:골드_3 ps:teflib:linear_homogeneous_recurrence}}
ps/problems/boj/20296.txt
· 마지막으로 수정됨: 2026/04/09 11:07 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로