摘要: 学长给我们讲了就顺便来写一篇题解。 首先最优解一定包括根,不然一定可以从当前根连接一条到根的链。 然后考虑假若最大导出子树深度为 \(n\) 则显然可以把深度为 \(n\) 的节点全部选上,然后每个节点可以去选择它的父亲,重复这样的操作,一直到根,也可以在某一层多选节点。 因此考虑记录每个深度有多少 阅读全文
posted @ 2024-02-12 00:36 ChiFAN鸭 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 整体二分时遍历数组从 \(mid\) 开始的最大值再合并就可以了,时间 \(O(n \log n + q)\) 空间 \(O(n)\)。 #include<bits/stdc++.h> //#define int long long //#define lowbit(x) (x&-(x)) usin 阅读全文
posted @ 2024-02-12 00:36 ChiFAN鸭 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 原理 在随机数据下,把原序列分成 \(\sqrt n\) 个块,维护每个块的前缀后缀最大值,那么,在随机询问下,对于在一个块中的询问,暴力查询。 复杂度 概率 $ n ^ {-\frac{1}{2}}$ ,复杂度 \(O(\sqrt n)\) ,均摊 \(O(1)\) 。 对于在不同块中的询问,对连 阅读全文
posted @ 2024-02-12 00:36 ChiFAN鸭 阅读(21) 评论(0) 推荐(0) 编辑