08 2024 档案
简单萌萌哒 Top Tree(上)
摘要:前情提要(? Top Cluster 分解与 Top Tree 情景导入 我们总是想要以一种合适的方式对树进行划分,但是对于菊花图而言,基于点的划分总是不合适的,这启发我们基于边进行划分。事实上可以证明,基于边的划分总是可行的。 Top Cluster 分解就是一种基于边的划分方式,下面我们来介绍他
P6240 好吃的题目 题解
摘要:题面稍微有一点不一样。 Statement 给 个物品,每个物品有价值 、体积 。 次询问,问考虑 区间的物品,用容量为 的背包最多能装多少价值的物品,有多少种方案,每个物品只能被装一次。 \(n\le 2\cdo
动态树笔记
摘要:不知道“树链剖分”、“全局平衡二叉树”等应不应该归类到“动态树”里面... 解决动态树问题的本质是将原树映射到一个高度为 的树上。 树链剖分 主要是重链剖分,具体略. 支持: 链修改 链查询 子树修改 子树查询 这里的修改、查询需要满足可以用数据结构维护. 一般两只 lo
P8734 奇偶覆盖 题解
摘要:Statement 矩形面积并,但是覆盖奇数次、覆盖偶数次的面积要分别输出。 Solution 提供一种不费脑子的做法: 首先离散化、扫描线,问题变成维护区间 +1-1、询问全局有多少正数是奇数、多少正数是偶数。 若去除“正数”的条件,这是很容易用一个标记下传的线段树维护的,区间分别维护 0,1 个
P8776 最长不下降子序列 题解
摘要:Statement 最长不下降子序列(LIS),但是有一次机会,让序列中连续 个数改成同一个数。. Solution 记 为以 结尾的 LIS 长度, 为以 开始的 LIS 长度,
cdl 的题
摘要:Statement CloudDreamLaker 嫌上一题太简单,又出了一道数据结构题: 添加一个操作:把 区间中的数加上 。 添加一个操作:把 区间中的数乘以 。 询问如果我执行了 区间的操作, 这一个
CIMOTA 的题
摘要:Statement I_AM_CIMOTA 出了一道数据结构题: 添加一个操作:把 区间中的数加上 。 询问如果我执行了 区间的操作, 这一个点的值会变为多少。 Solution 在线做法:可持久化线段树,标记永久化的话比较方便。 离线
CF650D Zip-line 题解
摘要:题目链接。 Statement 支持单点改的 LIS(最长严格上升子序列),修改之间互不影响,. Solution 经典结论: 记强制选第 个数前 个数的 LIS 为 ,强制选第 个数后 个数
P3589 KUR 题解
摘要:题目链接 Solution 因为 在 1e9 量级,所以答案是不可能一个个数的,考虑把答案的计数转化为若干条限制的求解. 我们考虑小串 在 中的出现的起始位置 ,他一定满足 条限制,把他们列出来: 对于 ,\(a(x+i
P9596 冒泡排序 2 题解
摘要:题目链接。 Statement 记 为序列 的冒泡排序趟数,操作:单点改,全局查 . ,值域 1e9. Solution 结论: \[ Ans=\max_{i\in [1..n]}\left\{ \sum_{j
gym105167E Erdős-Ginzburg-Ziv 题解
摘要:题意:给 和 个边权,要用这些边权构造树,每个点编号 ,使得每个点 到 的距离 ,无解输出 -1,保证 是质数、、边权 .