T1
明显 DAG 上 DP,用拓扑排序转移即可。
DP 方程:(f_i=f_i+frac{f_{fa}}{sonsize_{fa}})。
然后听说这题要用高精,所以没有实现。
时间复杂度:(O(n+m))。
T2
考虑枚举 (T=AB),现在的关键是找 (C)。
显然可以使用 Hash 找到最小的 (C)。
之后呢?会有一条性质:(A,B,C) 为一组解,则显然 (A,B,A+B+C) 为一组解。
又因为 (F(C)=F(A+B+A+B+C)),可以仅找出最短的及次短的 (C),最后统计即可。
现在的关键是找 (A),我们可以用一个树状数组维护已有的 (A) 的 (F(A)),这样就可以快捷统计了。
实现细节较多,这里放上一份代码。
T3
考虑一个一个颜色的处理。
于是就不会了。
于是看了题解,打了一遍,这里就不复读了。
代码。
T4
不会,爬了。