NOIp 2020 部分题解

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

不会,爬了。

posted @ 2020-12-12 19:53  时一月  阅读(175)  评论(0)    收藏  举报