20250830

https://www.luogu.com.cn/contest/249974

T1

看完就会,发现肯定先操作 2,再操作 1。BFS 即可。

T2

??

下文 \(n\) 为原题中 \(n - 1\)。表示当前满二叉树有 \(2^n\) 个叶子,记叶子高度为 \(0\),则树高为 \(n\)

看着就很二分,考虑二分答案之后 DP。

假设确定黑点之间最大距离为 \(m\),设 \(f(x, k)\) 为:当前树高为 \(x\),根到子树内最近的黑点的距离 \(\ge k\),最大化能够放置的黑点个数。注意 \(k \in [0, m]\),转移是容易的。

应当对 \(10^{18}\)\(\min\) 避免溢出。交一发 50pts.

打表发现 \(m \ge 120\) 时,前面都是 INF,后面是 \(2^{59}, 2^{59}, 2^{58}, 2^{58}, \dots, 4, 4, 2, 2\),判掉即可 AC。

相当于直接把黑点放在叶子上,这是合理的。

T3

本题存在 Kruskal 重构树、树剖套平衡树(非 LCT)等做法,但实现相对复杂,SATT 做法则比较困难,这里讲解 相对简单的平衡树做法

???

优先最大化 \(\sum_{i=1}^{n-1} 2|V_L||V_R|c_{e_i}\),然后最小化 \(\sum_{i=1}^{n-1} ic_{e_i}\),最后字典序。

看着就很需要排序。手玩样例,大胆猜想按照边权从大到小排序,直接交一发暴力获得 15pts,写个 Kruskal 重构树 + 树状数组,交上去直接 AC。

显然满足第二个式子最小。若边 \(p\)\(q\) 相邻,\(c_p > c_q\),作差发现 \(p\) 在前时第一个式子更大,那么降序时最大。

T4

????

posted @ 2025-08-30 21:28  SZwinsun  阅读(2)  评论(0)    收藏  举报