11 2023 档案
摘要:自己的套路还是见少了。 思路 考虑扫描线。 每一个颜色的 具有单调性,这个很好看出来。 可以使用一个单调栈来维护。 这里都是朴素的。 考虑如何维护。 我们发现在通过单调栈维护的时候。 需要支持撤销上一个元素对区间的影响。 我就在这里卡了很久。 我们有一个很暴力的想法。 我们每一次区
阅读全文
摘要:支配点对实在是太有意思了。 本质上就是一个合法的减枝。 思路 考虑维护树上路径问题。 容易想到点分治。 考虑在当前的分治中心 ,每个点到当前分治中心的距离为 。 求出每一组点对的贡献。 假设每个点对在距离长的那部分贡献,即 ,求出所
阅读全文
摘要:来一发分治题解吧。 感觉和单纯的整体二分还是有一点区别。 虽然整体二分也能看作分治就是了。 思路 首先时光倒流。 删边改为加边。 这没有什么好说的,比较基础。 我们考虑在不断加边时,每两个点是在什么时候变成一个强连通分量里面的。 考虑分治。 首先在 内选取中点 \(\text{m
阅读全文
摘要:非常好题目。 思路 考虑题目需要求一个连通块的背包。 点分治是平凡的,很容易想到,因为要统计的东西恰好可以把树分成几段。 但点分治操作时的背包确实卡了一下。 以前也没有见过这样的做法。 我们考虑如果直接做树上背包的话。 复杂度是绝对受不了的。 因为合并两个多重背包是基于值域的。 无法体现在树上的优势
阅读全文
摘要:明明看着不难的题目,却意外的卡人。 思路 考虑两头奶牛可以成为朋友条件是什么。 存在一条路径连接这两头奶牛。 且除去端点外的路径上的所有点的编号小于两端点的较小值。 充分必要性都比较显然。 如何维护。 我们可以从小到大加入点,维护这些路径。 对于每个点维护一个 。 表示这
阅读全文
摘要:感觉题解做法都好神秘。 来一个容易理解,通俗易懂的树剖解法。 思路 容易发现原问题等价于维护一个虚树。 每一次询问虚树的根的所有儿子的最大值。 要求链修。 容易发现仅仅动态维护根是好做的。 我们用一个 。 每次维护 的最小值和最大值。 对于这
阅读全文
摘要:这个小丑看了好久题目才发现保证 不降。 好像与其他题解做法稍有不同。 思路 其他题解的标记做法非常复杂,怎么办。 我们可以使用适用性可加强大的矩阵乘法。 我们考虑维护: \[\begin{bmatrix} \sum v&\sum a\times b&\sum a&\sum b&len\
阅读全文
摘要:怎么会有这么离谱的题目啊。 【模板】前缀和优化 dp。 思路 考虑一个基本的东西。 由于要求字典序的限制。 我们可以枚举最长公共前缀计算。 考虑如何求长度为 的排列有 个逆序对的数量。 设 。 \[dp_{i,j}=\sum_{k=0}^{i-1}dp
阅读全文
摘要:使用了一种和大多数题解不同的做法。 虽然是带 的。 思路 首先考虑如何求一个固定左端点的答案。 我们发现,每个答案会随着右端点的递增单调不降。 而每个答案在增加时会形成若干个区间。 例如: 11101010111111 我们答案增加的区间即为: 11100000000111 可以发现
阅读全文

一言
我从不猜测,那是破坏思维的坏习惯。
—— 福尔摩斯探案集