随笔分类 - 杂题乱刷2
摘要:题目链接 【MX-X8-T3】「TAOI-3」地地爱打卡 (*1700) 解题思路 真不难吧,只是一个简单分讨,注意到这是一个无向图,因此我们特判以下几种情况: 若 \(s,t\) 不在一个连通块中,则点 \(s\) 一定不能到达点 \(t\),输出 expand,这个部分可以简单使用并查集维护。
阅读全文
摘要:怎么没人写好写的 ST 表呢。 题目链接 CF601B Lipshitz Sequence (luogu) CF601B Lipshitz Sequence (codeforces) 解题思路 其实一眼可以发现选相邻的是最优的。 证明: 若这个区间中的数字为 \([a,b,c]\),此时若选择 \(
阅读全文
摘要:哎哎,太毒瘤,哎哎,太深刻。 题目链接 AT_abc140_e [ABC140E] Second Sum 解题思路 考虑有以下基本性质: 在 \(1 \sim n\) 的数列上,包含 \(i (1 \le i \le n)\) 点的区间(端点为整数)个数为 \(i \times (n - i + 1
阅读全文
摘要:题目链接 CF2040D Non Prime Tree 解题思路 挺好的题啊,赛时 10min 胡了个正解,但是 \(ans\) 数组打成 \(a\) 虚空调试 15min,怎么回事呢。 解法一 赛时做法。 可以看出当前无论怎么填,只要状态合法,那么一定有至少一种方案可以将整棵树都被填满,但是我不会
阅读全文
摘要:题目链接 CF2038B Make It Equal 题意简述 这东西好久没写了啊。 阿瓦在一个幻想王国里。 他走在草坪上,发现有 \(1 \le n \le 2 \times 10^5\) 个数字精灵祝他生日快乐。 阿瓦非常开心。因为最多可能会有 \(2 \times 10^5\) 个精灵为他庆生
阅读全文
摘要:题目链接 CF1288E Messenger Simulator 解题思路 发现向前移的部分普通维护比较困难,因此我们考虑通过某种方式来维护这个东西。 考虑建立 \(m\) 个虚点来维护,每次询问都将实点移至虚点去。这里求答案我们需要支持单点加,区间求和,可以用树状数组轻松维护。 参考代码 #inc
阅读全文
摘要:题目链接 CF1219G Harvester 解题思路 就是个嗯分讨题。 发现最终选择的方案总共就以下五种情况: 选 \(4\) 行 \(0\) 列。 选 \(3\) 行 \(1\) 列。 选 \(2\) 行 \(2\) 列。 选 \(1\) 行 \(3\) 列。 选 \(0\) 行 \(4\) 列
阅读全文
摘要:题目链接 CF1354E Graph Coloring (*2100) 解题思路 发现这个东西就是类似于二分图染色的东西。 因为 \(2\) 只能和 \(1,3\) 链接。其余种类的点都不能连接。 不妨把 \(1,3\) 都看成同一个点放到最后处理。 那么我们就相当于是要找到一种方案使得选择每个联通
阅读全文
摘要:题目链接 CF1370F2 The Hidden Pair (Hard Version) (*2700) 题目描述 真的很难吗? 我们首先考虑找出第一个特殊点。 我们可以先求出这两个点路径中的任意一个点。发现询问 \(1 \sim n\) 就使我们需要的询问、 接下来以这个路径中的一个点为根来确定每
阅读全文
摘要:题目链接 P11267 【MX-S5-T1】王国边缘 解题思路 先考虑对于 \(1 \sim n\) 中的每一个点往后跳 \(1\) 次会跳的距离。 那么为什么只用处理 \(1 \sim n\) 这些点而不去处理其余的点往后跳的距离呢? 我们可以发现,由于字符串是无线循环的,所以对于位置模 \(n\
阅读全文
摘要:这题 *2400 纯唐吧,感觉 *1800 差不多。 题目链接 CF2036G Library of Magic(*2400) 解题思路 注:\(\oplus\) 表示异或运算。 首先我们想一个通解,就是先二分出第一个数和第三个数,然后第二个数就是所有数的异或和异或上这两个数,操作次数为 \(2 \
阅读全文
摘要:题目链接 CF1372D Omkar and Circle(*2100) 解题思路 发现问题等价于在环上砍一刀形成一个序列然后取其中不相邻的数字使得和最大。 如果这是一个序列,我们只需要取奇数位上的数字和和偶数位上的数字和的最大值即可。 我们发现你砍掉一刀等价于把后缀拿到最前面来。 于是我们可以直接
阅读全文
摘要:题目链接 CF1227D1 Optimal Subsequences (Hard Version) *1600 CF1227D2 Optimal Subsequences (Hard Version) *1800 解题思路 本篇题解分 D1,D2 两个部分来写。 D1 sol: 我们容易发现有以下两
阅读全文
摘要:题目链接 CF1433F Zero Remainder Sum (*2100) 解题思路 简单 dp,只是状态有点多。 首先我们根据题目里的定义,可以构造 \(dp1_{i,j,a,b}\) 表示考虑到第 \(i\) 行前 \(j\) 列当前所选数之和模 \(k\) 为 \(a\) 且此时选了 \(
阅读全文
摘要:题目链接 CF1839E Decreasing Game(*2400) 解题思路 首先我们可以发现一个性质,那就是我们如果可以将这个序列拆分成两组,使得这两组数字的和相同,则我们此时扮演后手一定可以获胜,具体的,若先手取了其中一组数字中的一个,那我们只需要取另一组数字中的任意一个目前不为 \(0\)
阅读全文
摘要:题目链接 CF827B 解题思路 假设树以 \(1\) 为根,考虑先将 \(k\) 个深度为 \(1\) 的节点,然后我们就可以将剩余的节点挂在目前的叶子节点上,但是如果一个叶子节点挂了 \(2\) 个叶子节点的话,那么这样叶子节点数目你一定不能使叶子节点减少,因此一个叶子节点最多只能往下挂一个节点
阅读全文
摘要:题目链接 AT_arc184_a Appraiser 解题思路 Q = 999: 我们考虑将第一个硬币与其余的硬币作比较,最后若交互库返回的 \(1\) 更多,那么说明第 \(1\) 枚硬币是假币,否则第 \(1\) 枚硬币是真币,直接存动态数组最后输出即可。 操作次数容易得出为 \(999\) 次
阅读全文
摘要:题目链接 CF1108E1(luogu) CF1108E2(luogu) CF1108E1(codeforces) CF1108E2(codeforces) 解题思路 这篇题解分 E1,E2 两个部分来讲。 E1 sol: 我们发现可以暴力枚举最后经过所有操作之后的最大值,那么显然的,我们将不会做任
阅读全文
摘要:题目链接 CF1527B1(luogu) CF1527B2(luogu) CF1527B1(codeforces) CF1527B2(codeforces) 解题思路 这篇题解分 B1,B2 两个部分来讲。 B1 sol: 考虑字符串中 \(0\) 的数量,设这个值为 \(sum\): 若 \(su
阅读全文
摘要:怎么没有二分的题解啊,写一篇。 题目链接 CF1301C Ayoub's function 解题思路 发现我们可以将问题转化成将 \(n - m\) 个 \(1\) 分成 \(m\) 份,设第 \(i\) 份的数字之和为 \(sum_i\),则这样的分配方案的贡献为 \(\frac{n \times
阅读全文

浙公网安备 33010602011771号