Description
给你一棵有 $n$ 个点的树,给你 $m$ 个询问,每次问你对于一组给定的 $l_i$ 和 $r_i$,有多少个整数 $k$ 满足从点 $l_i$ 出发沿着从点 $l_i$ 到点 $r_i$ 的简单路径上走 $k$ 步恰好走到点 $k$。
单个测试点的时间限制为 3s。
你有 $n$ 个二元组,你可以将 $(a_1, b_1)$ 与 $(a_2, b_2)$ 合并成:
,需要的花费为 $(ka + b_1 + b_2)$。
现在你有 $n$ 个二元组 $(a_1, 0), (a_2, 0), . . . ,(a_n, 0)$,你需要按照一个排列 $p_1, p_2, p_3, . . . , p_n$ 的顺序合并,就是先将 $(a_{p_1} , 0)$ 与 $(a_{p_2} , 0)$ 合并,再将所得结果与 $(a_{p_3} , 0)$ 合并,以此类推。
你希望最后结果 $(a, b)$ 中 $a$ 最大,并希望求出在 $a$ 最大的条件下所有合法排列的合并代价总和对 $(10^9 + 7)$ 取模后的结果。
时间限制 2s,空间限制 512MB。
今年的 CSP 终于不是在校运会期间了。