加载中...

摘要: C,D,G 这三道题都是那种看题面就感觉出得特别不错的题,遂来补题解。 D.数字积木 Q: 给定一棵大小为 \(n\) 的树,每个点有权值且构成 \(0 \backsim n - 1\) 的排列。求其所有连通子图的 \(mex\) 之和。 考虑 \(mex = x\) 的连通子图具备的性质:包含权值 阅读全文
posted @ 2026-02-07 02:26 小橘奏 阅读(2) 评论(0) 推荐(0)
摘要: 核心:对于多查询问题,每个查询都有自身关于查询时间轴生效的时间段。将每个查询的时间段加到线段树对应的 \(O(\log)\) 个结点上,那么对于从根节点经过 \(\forall\) 叶节点,处理往叶节点走的过程中的每个结点上的任务,最终到达叶节点时,可以得到对应时段的正确状态。 线段树分治结合可撤销 阅读全文
posted @ 2026-02-06 16:35 小橘奏 阅读(2) 评论(0) 推荐(0)
摘要: \(Kruskal\) 重构树解决的核心问题:处理出只能经过边权 \(\leq x\)(或 \(\geq x\))的所有边,可以到达的点集合及相关信息。 建图过程与原理 code const int maxn = 2e5 + 5; // Kruskal重构树的最大结点数量,可达2n const in 阅读全文
posted @ 2026-02-05 16:19 小橘奏 阅读(1) 评论(0) 推荐(0)
摘要: F. Permutation Counting 看上去很有意思的一道题:求满足长度为 \(n\),以及给定的 \(m\) 条约束的排列 \(p\) 的方案数。第 \(i\) 条约束 \((l_{i},r_{i},k_{i})\) 的定义:\(\max(p[l_{i}\backsim r_{i}]) 阅读全文
posted @ 2026-02-05 01:02 小橘奏 阅读(6) 评论(0) 推荐(0)
摘要: 用途:对于一棵树,出现多个询问,查询有关多个结点的答案时,每次遍历整棵树会很慢。但如果 所有询问的所有关键节点总数并不多 (\(O(A)\)),我们就可以对于每个询问建立一棵虚树,使得每次查询只需要访问这些关键节点,使得复杂度优化到 \(O(A\log n)\)。 概念 对于给出的所有关键结点,本身 阅读全文
posted @ 2026-02-04 23:12 小橘奏 阅读(3) 评论(0) 推荐(0)