随笔分类 - 贪心
摘要:题目链接 CF2066B Devyatkino (*1600) 解题思路 首先根据题目中的定义,你发现你选取一个没有 的序列是一定合法的,因为此时任意一个前缀 min 都是至少为 的,而任意一个后缀 mex 都为 ,原式一定合法。 其次你发现你选取的子序列中最多只能
阅读全文
摘要:题目链接 CF1227D1 Optimal Subsequences (Hard Version) *1600 CF1227D2 Optimal Subsequences (Hard Version) *1800 解题思路 本篇题解分 D1,D2 两个部分来写。 D1 sol: 我们容易发现有以下两
阅读全文
摘要:题目链接 CF827B 解题思路 假设树以 为根,考虑先将 个深度为 的节点,然后我们就可以将剩余的节点挂在目前的叶子节点上,但是如果一个叶子节点挂了 个叶子节点的话,那么这样叶子节点数目你一定不能使叶子节点减少,因此一个叶子节点最多只能往下挂一个节点
阅读全文
摘要:题目链接 CF1108E1(luogu) CF1108E2(luogu) CF1108E1(codeforces) CF1108E2(codeforces) 解题思路 这篇题解分 E1,E2 两个部分来讲。 E1 sol: 我们发现可以暴力枚举最后经过所有操作之后的最大值,那么显然的,我们将不会做任
阅读全文
摘要:题目链接 CF1527B1(luogu) CF1527B2(luogu) CF1527B1(codeforces) CF1527B2(codeforces) 解题思路 这篇题解分 B1,B2 两个部分来讲。 B1 sol: 考虑字符串中 的数量,设这个值为 : 若 \(su
阅读全文
摘要:vp 到的。 题目链接 CF1889A Qingshan Loves Strings 2 解题思路 我们考虑从头到尾依次判断情况。 维护两个指针 来依次比较,直到有 。 这种情况根据题目所述是不合法的,因此我们需要依次分讨一下两种情况: \(a_l = a_
阅读全文
摘要:题目链接 CF1615C Menorah (luogu) CF1615C Menorah (codeforces) 解题思路 这题有三个重要的性质: 在同一个点做两次操作与不在这个点做操作是等价的。 给两个不同的点做操作等价于交换这两个点。 给一个字符串做偶数次操作,这个字符串的 的数量
阅读全文
摘要:duel 到的。 题目链接 CF727D 解题思路 首先只能选一个尺码的人直接给就是了,这样我们就只用考虑选两个尺码的人了。 因为两个尺码的人适合的两个尺码是相邻的,因此我们直接从小到大按照有两个尺码的人排序,再将剩下的衣服大小从小到大排序,然后依次给就可以了。 这里我用了桶排,时间复杂度 \(O(
阅读全文
摘要:duel 到的。 题目链接 CF727D (luogu) CF727D (codeforces) 解题思路 首先只能选一个尺码的人直接给就是了,这样我们就只用考虑选两个尺码的人了。 因为适合穿两个尺码衣服的人的适合穿的两个尺码是相邻的,因此我们直接从小到大按照有两个尺码的人排序,再将剩下的衣服大小从
阅读全文
摘要:题目链接 CF402D Upgrading Array (luogu) CF402D Upgrading Array (codeforces) 解题思路 首先你会发现你一旦在第 个位置上做了一次操作后,那么你之后所有在第 个位置做的操作都是无效的,因为此时该
阅读全文
摘要:哎哎哎,题解区里怎么没我的做法啊 /yun。 于是就有了这篇题解。 题目链接 CF1702F Equate Multisets (luogu) CF1702F Equate Multisets (codeforces) 解题思路 首先我们发现, 序列中的数字的末尾的 是无意义的
阅读全文
摘要:upd: 哎哎哎,原来的题解没怎么写证明被叉了 /yun 所以我来补下证明。 upd2: 修改代码,增加代码可读性。 题目链接 P10678 『STA - R6』月 解题思路 时间复杂度优于官解的做法。 首先我们观察到一个性质就是 ,因为
阅读全文
摘要:题目链接 CF1987C Basil's Garden 提示 不妨把这个序列当做一个弹簧来处理。 弹簧会产生连锁反应。 解题思路 我们发现这个序列的区间是一段一段的,我们可以将每一段都当成一个弹簧,每两个数都会多产生 的贡献,那么这个区间的贡献就是这个区间的最大值加上这个区间的长度减去
阅读全文
摘要:原题大赛。 一句话做法:取当前最优的比取当前劣的要更优。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外之物。 该冲正解时冲正解! Problem:
阅读全文
摘要:一个思想。 先计算出 的前 个,然后直接和这个和加上 再取前 个就行了。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不
阅读全文
摘要:代码恢复训练 2024.6.15(补) 链接 (luogu) 链接 (atcoder) abc 最水的 G 了吧。 你发现,你最后肯定全在在同一个点上不动,而且你一定可以在 回合内走到这个点,因此我们直接 表示走 步到 \((x
阅读全文
摘要:代码恢复训练 2024.6.9. 链接 greedy。 从高往低枚举二进制位,check 方式显然。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf 不要用 umap!!! 记住,rating 是身外
阅读全文
摘要:代码康复训练 2024.6.7 无所谓,随便贪。 直接取前 大的红苹果,前 大的绿苹果和和所有无色苹果合起来取最大的 个苹果的值加起来即可。 容易证明一定合法。 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是
阅读全文
摘要:链接 (Link) 一个好题。 就是说,你直接先求出这个数列的异或和,然后发现之后就可以两两匹配,如果无法匹配就默认这个数为 ,然后做完了。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打 cf
阅读全文
摘要:链接(luogu) 链接(codeforces) 有一个结论就是每次操作直接取一个存在目前最左边的最小值区间即可。 但是我不会证啊...... 大家感性理解。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打
阅读全文