CF494D.Birthday

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Ali is Hamed's little brother and tomorrow is his birthday. Hamed wants his brother to earn his gift so he gave him a hard programming problem and told him if he can successfully solve it, he'll get him a brand new laptop. Ali is not yet a very talented programmer like Hamed and although he usually doesn't cheat but this time is an exception. It's about a brand new laptop. So he decided to secretly seek help from you. Please solve this problem for Ali.

An nn -vertex weighted rooted tree is given. Vertex number 11 is a root of the tree. We define d(u,v)d(u,v) as the sum of edges weights on the shortest path between vertices uu and vv . Specifically we define d(u,u)=0d(u,u)=0 . Also let's define S(v)S(v) for each vertex vv as a set containing all vertices uu such that d(1,u)=d(1,v)+d(v,u)d(1,u)=d(1,v)+d(v,u) . Function f(u,v)f(u,v) is then defined using the following formula:

The goal is to calculate f(u,v)f(u,v) for each of the qq given pair of vertices. As the answer can be rather large it's enough to print it modulo 109+710^{9}+7 .

输入格式

Ali is Hamed's little brother and tomorrow is his birthday. Hamed wants his brother to earn his gift so he gave him a hard programming problem and told him if he can successfully solve it, he'll get him a brand new laptop. Ali is not yet a very talented programmer like Hamed and although he usually doesn't cheat but this time is an exception. It's about a brand new laptop. So he decided to secretly seek help from you. Please solve this problem for Ali.

An nn -vertex weighted rooted tree is given. Vertex number 11 is a root of the tree. We define d(u,v)d(u,v) as the sum of edges weights on the shortest path between vertices uu and vv . Specifically we define d(u,u)=0d(u,u)=0 . Also let's define S(v)S(v) for each vertex vv as a set containing all vertices uu such that d(1,u)=d(1,v)+d(v,u)d(1,u)=d(1,v)+d(v,u) . Function f(u,v)f(u,v) is then defined using the following formula:

The goal is to calculate f(u,v)f(u,v) for each of the qq given pair of vertices. As the answer can be rather large it's enough to print it modulo 109+710^{9}+7 .

输出格式

Ali is Hamed's little brother and tomorrow is his birthday. Hamed wants his brother to earn his gift so he gave him a hard programming problem and told him if he can successfully solve it, he'll get him a brand new laptop. Ali is not yet a very talented programmer like Hamed and although he usually doesn't cheat but this time is an exception. It's about a brand new laptop. So he decided to secretly seek help from you. Please solve this problem for Ali.

An nn -vertex weighted rooted tree is given. Vertex number 11 is a root of the tree. We define d(u,v)d(u,v) as the sum of edges weights on the shortest path between vertices uu and vv . Specifically we define d(u,u)=0d(u,u)=0 . Also let's define S(v)S(v) for each vertex vv as a set containing all vertices uu such that d(1,u)=d(1,v)+d(v,u)d(1,u)=d(1,v)+d(v,u) . Function f(u,v)f(u,v) is then defined using the following formula:

The goal is to calculate f(u,v)f(u,v) for each of the qq given pair of vertices. As the answer can be rather large it's enough to print it modulo 109+710^{9}+7 .

输入输出样例

  • 输入#1

    5
    1 2 1
    4 3 1
    3 5 1
    1 3 1
    5
    1 1
    1 5
    2 4
    2 1
    3 5
    

    输出#1

    10
    1000000005
    1000000002
    23
    1000000002
    
  • 输入#2

    8
    1 2 100
    1 3 20
    2 4 2
    2 5 1
    3 6 1
    3 7 2
    6 8 5
    6
    1 8
    2 3
    5 8
    2 6
    4 7
    6 1
    

    输出#2

    999968753
    49796
    999961271
    999991235
    999958569
    45130
    
首页