【牛客】路径计数机
题目描述 有一棵n个点的树和两个整数p, q,求满足以下条件的四元组(a, b, c, d)的个数: 1.$1\leq a,b,c,d \leq n$ 2.点a到点b的经过的边数为p。 3.点c到点d的经过的边数为q。 4.不存在一个点,它既在点a到点b的路径上,又在点c到点d的路径上。 输入描述: 第一行三个整数n,p,q。 接下来n - 1行,每行两个整数u, v,表示树上存在一个连接点u和点v的边。 输出描述: 输出一个整数,表示答案。 示例1 输入 5 2 1 1 2 2 3 3 4 2 5 输出 4 说明 合法的四元组一共有: (1, 5, 3, 4), (1, 5, 4, 3), (5, 1, 3 ,4), (5, 1, 4, 3)。 示例2 输入 4 1 1 1 2 2 3 3 4 输出 8 备注: 对于前20%的数据,n,p,q≤50。 对于前40%的数据,n,p,q≤200。 对于另外10%的数据,p = 2, q = 2。 对于另外10%的数据,树是一条链。 对于另外10%的数据,树随机生成。 对于所有数据1≤n,p,q≤3000,1≤u,v≤n,保证给出的是一棵合法的树。 分析 我已经弱到连$n^2$枚举路径都不会了 再一次求助Master_Yi 这个题只要理顺了就挺好想的了(说得好像我想得出来似的。 由于不相交的情况不好求,所直接看相交的情况。 找规律