01 2025 档案
摘要:引入 一个数列,单点修改(加),区间查询(和)。 上述问题有很多种解法,如树状数组、分块、平衡树等,今天的主题是著名的线段树。 正题 (不确保按难度升序排序,自己看着目录调顺序吧) 线段树基本原理 因为需要区间查询,所以我们希望有一些捷径能将部分的数的和提前算好,并能够直接上手用,这样可以节省不少的
阅读全文
摘要:复盘 A,把所有可能的答案列举出来,最后字符串判等即可…… B,没什么难度,码完交上去 WA 3 个点。 不知道是不是精度问题,开了 long double,WA 1 个点。 调调调,发现 eps 设大了,改成 过了。 C 算什么东西,随便写写就过了。 D,一眼看到数据范围
阅读全文
摘要:(逆天罚时局) 复盘 看 A,一眼简单题。如果先手拿到的就是 的倍数,则后手必胜,否则先手可以只走一步达成 的倍数(最开始我还想反了,导致 00:05)。 不想开 B,看 C,我相信它有更简单的解法但我 dp 也能过。 B 马上切了没什么好说的。 D 直接分析一句话题意,然后
阅读全文
摘要:元方树。 下文除特殊强调外,所有图皆为无向图。 引入 割点:在图中,删除某个点后,导致图不再连通的点。 点双连通:在一张图中,取两个点 、 ,无论删去哪个点(除 、 自身外), 、 都能连通,我们就说 和 点双连通。 点
阅读全文
摘要:假定原点为圆心。 我们只考虑点在第一象限的情况,剩下的情况同理。 因为圆心是原点,所以在圆内的点的横坐标一定在 之内。 枚举点的横坐标 ,二分最大的 ,使得点 \((x + \frac{1}{2}, y + \f
阅读全文
摘要:优雅的暴力。 引入 link。 这道题显然可以用线段树、树状数组做,但如果我偏不用这些数据结构呢? 我们知道,暴力修改和查询最坏是 的,这样肯定会挂掉。 那该怎么办呢? 正题 分块 考虑将序列分成若干块,我们设每块长为 。 对于每次查询 \(\left
阅读全文
摘要:题意 link. 题解 我们充分发扬人类智慧。 考虑到可能连锁爆炸,我们不能通过一个单纯的二分来解决问题。 考虑 。 记 为第 个点爆炸,最远能引爆到哪个坐标小于它的点。 为第 个点爆炸,最远能引爆到哪个坐标大于它的点。 我们以
阅读全文
摘要:引入 link。 我们可以分析出上题就是带修改的最大子段和。 遇到这种类型的题目应该想到用线段树。 实现 对于原数列,先建起一棵线段树,每个节点包含 最大前缀、最大后缀、最大字段和、区间和 信息。 当你明确一道题是线段树时,要先思考 pushup 和 pushdown 怎么写,因为剩下的都是差不多的
阅读全文
摘要:分析题面,发现题目求的是是否存在一个白点被 和任意一个黑点围成的矩形内。 先将所有黑点按 坐标排序。 枚举所有的白点。 找到所有横坐标不比该白点横坐标小的所有黑点的纵坐标的最大值所属点。 如果该点的纵坐标小于该白点的纵坐标: (蓝点代表题目中的白点,红点反之) 此时
阅读全文
摘要:link。 贪心做法。 本题贪心做法的实质就是用整数尽量多地抵消该整数后面的负数。 如果正着做,没有办法考虑全该数后面的所有负数,所以倒着做。 例如当前遍历到了 ,此时序列如下: 易得我们 应该抵消的是 \(-10,-20\
阅读全文