随笔分类 - 题解
摘要:应该是一个没人写的做法。 思路 显然对于一个仅由白点或仅由黑点构成的连通块均可以被一次操作给消除,考虑将所有仅有一种颜色的连通块先缩成一个点。 接着发掘一下灰点的性质,发现若一个灰点连接了多个黑色连通块,那么这些黑色连通块都可以在一次操作中全部消除掉。于是我们将这些由同一个灰点连接的所有同色连通块全
阅读全文
摘要:这是一个不需要扫描线的做法/cy 思路 注意到选择出来的人的 必须有交,并且每个人的 都得在交里面。 考虑枚举交的左端点 ,维护每一个右端点 的答案。容易发现当一个人 满足 \(l_i \leq L \leq v_i \l
阅读全文
摘要:确实太颓了,在 csp 前教练给的题单里的题,快退役了才做/ll 思路 显然切除的一定是一个区间。其次若对于一列达到了他可行的最小的切除高度,那么切得更多一定合法,于是考虑求出这个值。 仔细观察发现,第 列至少要把第 行
阅读全文
摘要:与 @Zelotz duel,苦战 129min AC。 思路 (本文中默认字符的大小顺序为:) 首先发现不关心最后两个数是否合法,将前 个位置变得递增是容易的。具体的,对于每一个位置 ,在最终的序列中的值记为 ,
阅读全文
摘要:来个另类解。 思路 手玩一下样例,发现减法只会用在正数上,加法只会用在负数上,大概是因为如何在负数上用了减法或在正数上用了加法,都需要额外的次数去消掉。 然后注意到在两个正数中间包这的所有负数可以直接缩成一个数,两个负数中间包着的所有正数也可以直接缩成一个数。那么现在的序列就变成了一个正负相间的序列
阅读全文
摘要:@hzjoiineg 为什么是神? 思路 首先将 中 A 的数量不等于 的情况判掉。 然后将 划分为 ABAB... 和 BABA... 的若干段,对于长度为奇数的段构造方案只能是如下构成:A 开头为例):AB 和 BA 共 \(\lfloor \
阅读全文
摘要:思路 注意到第二个条件和第三个条件本质相似,可以用相同的维护方式处理,因此这个只讨论第二个条件的维护方式。 定义 表示走到 的最少步数。第一个条件的转移显然为 。 对于第二个条件, 能向
阅读全文
摘要:思路 首先答案上界为 ,因为每本书操作一次一定能使得书架整齐。 因此考虑计算有多少本书能不操作,定义 表示以 为开头的后缀中,最多能保留多少本书不动。答案显然为 ,考虑转移: 如果 位置选择操作,显然有 \(dp_i \le
阅读全文
摘要:LPhang 为什么是神? 思路 显然可以想到一个错误的贪心:直接拓扑排序,每一次选择当前可以拓展的点中最小的元素进行编号。 由于可能存在一个值较小的元素被藏在一个较大的元素后面,这种贪心就会出问题。 出问题的本质原因就是我们希望字典序最小,就得使得越小的位置分配到更小的值。不妨建反图,进行拓扑排序
阅读全文
摘要:思路 首先因为电视台比广告多一个信息,所以通常来说枚举电视台是更有前途的。 因此枚举每一个电视台,考虑所有广告的贡献。对于一个电视台, 是定值,也就是找到所有广告与电视台所表示区间交得最多的那一个。 假设枚举的电视台控制了 区间,则广告 会有三种
阅读全文
摘要:妙妙题。 思路 注意到题目保证了 互不相同,所以一个数被踢出一个箱子,最多只能找到一个数加进去满足条件。 考虑直接建图。令最终每个箱子的和为 ,第 个箱子原来的和为 。 则从一个箱子 从选出了一个数 ,那么只有把 \(
阅读全文
摘要:思路 假定 。 首先有一个很显然的事实:坐电梯只往上,不往下。因为如果坐了一个电梯往下,然后换乘往上,明显不如立刻换乘然后往上。 所以问题转为求最少的换乘次数。为了代码的简洁,我们先把在同一栋楼中有交的电梯合为同一班电梯。即将 \(l_1 \leq l_2 \leq r_1
阅读全文
摘要:思路 比较简单的贪心。 对于可以选择两个奶酪的老鼠,我们先将它们忽略掉。现在所有老鼠所吃的奶酪是唯一确定的。 考虑加上可以选择两个奶酪的老鼠如何选择。显然,如果它可以选择一个没有任何老鼠吃过的奶酪,它必然这样选择。 其次,如果它可以选择的奶酪被吃掉的时间 与它到达奶酪的时间
阅读全文
摘要:思路 我们先随便选择一个叶子结点,查询 次。如果是返回的结果是 ,说明鼹鼠就在这个叶子结点;否则它将向上跳 次。 此时,我们得到一个关键结论,如果一棵子树最大深度小于等于 ,那么鼹鼠一定不在这棵子树中,因为鼹鼠无论如何都跳了 次。 我们希望找到
阅读全文
摘要:思路 发现最简单的方法就是直接枚举三个点,但是复杂度 无法接受。 考虑枚举一个点,并确定它的一条边,那么只需要再枚举一个点了。于是转化为了,对于每一个点找到其最好的出边。 观察下图, 的边是不必要的。因为,如果有一个三元环包含 \(a \to c
阅读全文
摘要:思路 先考虑 的暴力 DP。 定义 表示在前 个数中选取 个的最小和,转移显然: \[dp_{i,j} = \min_{1 \leq k < i}\{dp_{k,j - 1} + s_{k + 1,i} \bmod
阅读全文
摘要:思路 如果没有删除操作,就是一个典中典。 直接枚举最小值 ,可以轻松 找到其所能管辖到的最大区间 。形式化地说,找到一个最小的 和一个最大的 ,使得 \(\min_{L_i \leq x \leq R_
阅读全文