함수와 최소 스패닝 트리
시간 제한3초메모리 제한1024 MB
간선 가중치가 at^2+b_i t+c_i로 주어질 때, t1부터 t2까지 최소 신장 트리 가중치 합의 적분값을 10^9+7로 나눈 나머지로 구합니다.
문제
부터 까지 번호가 붙은 정점이 개, 간선이 개인 단순 연결그래프가 주어진다.
각 간선의 가중치는 시간 에 따라 변하는 이차함수 꼴이다. 모든 간선에 대해 는 같다.
시간 에서의 최소 스패닝 트리의 가중치 합을 라고 정의하자.
정수 , 가 주어지면 의 값을 구하시오.
최소 스패닝 트리는 주어진 그래프의 모든 정점을 연결하는 부분 그래프 중에서 가중치의 합이 가장 작은 트리이다.
입력
첫 번째 줄에 정수 , , 가 공백으로 구분되어 주어진다. (, , , )
다음 개의 줄에는 간선의 정보를 나타내는 정수 네 개 , , , 가 공백으로 구분되어 주어진다. (, )
이는 번 정점과 번 정점을 잇는 간선의 가중치가 라는 뜻이다.
마지막 줄에는 시간을 나타내는 정수 과 가 공백으로 구분되어 주어진다. ()
출력
의 값이 정수 , 양의 정수 에 대하여 기약분수 이면, 을 출력한다. 은 의 모듈러 곱셈에 대한 역원이다.
의 배수가 아닌 에 대해서는 답이 위와 같은 꼴로 표현됨을 증명할 수 있다.
힌트
필요하다면 임을 이용할 수 있다.