摘要:
感觉是一个比较套路的题目。 思路 很容易就可以胡出一个贪心策略。 每一次操作都选一个从前面开始最长的 $0,1$ 数量相同的序列进行操作。 看一眼好像样例都能过。 可以考虑如何来证明一下这个东西。 为了方便,首先我们假定操作序列中 $0$ 的数量多于 $1$ 的数量。 那么我们的操作就是要将所有在 阅读全文
摘要:
思路比较困难的一道线段树题目。 考虑对于一段一段的混合颜色区间,我们的最优策略显然是留下其中元素数量最多的颜色。 比如: 12221123343 这就是两个颜色区间,一个是 $1222112$,另一个是 $3343$。 其中第一个留下 $2$,第二个留下 $3$ 显然是最优的。 考虑利用线段树来维护 阅读全文
摘要:
前置知识 前置知识点 \(\pi = \arccos(-1)\) 余弦定理 \(c^2 = a^2 + b^2 - 2\times a\times b\times \cos(t)\) 浮点数的比较 const double eps = 1e-8; int sign(double x) // 符号函数 阅读全文
摘要:
一道比较简单的题,我居然调了这么久。 思路 看一眼这个题,发现好像没有什么思路。 考虑来用一些巧妙的手法,比如随机化。 首先证明一个结论,至少有一半的数只会被操作一次或者不操作。 这个结论比较好证明。 可以知道,答案一定小于等于 $\text{n}$。 所以如果有超过一半的数会被操作两次。 那么这个 阅读全文
摘要:
感觉这样的 $\text{dp}$ 题还比较多,思路都比较的神奇。 个人感觉比较像区间 $\text{dp}$ 的一类变种。 但又和区间 $\text{dp}$ 的维护方式极不一样。 对于此类 $\text{dp}$ 这一类 $\text{dp}$ 主要维护的是一个一个的块,可以理解成连通块。 将 阅读全文
摘要:
感觉这样的 $\text{dp}$ 题还比较多,思路都比较的神奇。 个人感觉比较像区间 $\text{dp}$ 的一类变种。 但又和区间 $\text{dp}$ 的维护方式极不一样。 对于此类 $\text{dp}$ 这一类 $\text{dp}$ 主要维护的是一个一个的块,可以理解成连通块。 将 阅读全文
摘要:
思路 用到了一个比较神奇的方法,迭代法。 首先考虑对于暴力怎么做。 可以有一个非常显而易见的结论。 如果一个数比此时可以表示的最大的数加一要小。 那么就一定能表示这个数并且可以表示的最大的数变成此时最大的数加上这个数。 稍微想一想就可以发现这个结论是比较好像的。 由此,我们可以利用迭代的思路来优化这 阅读全文
摘要:
很久之前写的题目了,写一篇题解来回忆一下。 线段树合并与分裂 线段树是一个非常有意思的数据结构,它支持很多的操作,包括分裂与合并。 合并 例题:P4556 [Vani有约会]雨天的尾巴 /【模板】线段树合并 首先,支持合并的操作的线段树,出于空间与时间的考虑,需要写动态开点线段树。 考虑如何合并两颗 阅读全文
摘要:
如果底下没有放正解复杂度可能还需要想很久。 但看见正解也要带一个 $\log$ 就比较好想了。 题意 要求维护一颗线段树。 区间加。 区间求小于等于 $x$ 的树,但也要包括被包含的非叶子节点。 思路 我们可以发现,对于非叶子节点的贡献,如果区间长度相同,我们可以一起统一处理。 考虑到一颗线段树上长 阅读全文
摘要:
第十四分块。 卡常卡到心机梗塞的一道题目。 思路 思路就是普通二次离线莫队的思路。 我们发现,题目要求的东西的贡献如果用普通莫队求解 无法做到 $O(1)$ 的复杂度,我们可以考虑使用二次离线。 这个玩意的贡献设为 $f(l,r)$ 。 则端点右移的贡献则为 $f(l,r+x)$。 差分一下: $$ 阅读全文