随笔分类 - 数据结构
摘要:题目链接 AT_abc348_g [ABC348G] Max (Sum - Max) 解题思路 考虑对于一个 \(k\) 我们怎么做。 注意到我们可以先把 max 这一维给从小到大排序,然后依次枚举这个 \(b_i\) 并顷定 \(b_i\) 为你选取所有 \(b_i\) 中的最大值,考虑此时如何最
阅读全文
摘要:题目链接 P11843 [USACO25FEB] The Best Subsequence G 题意简述 有一个长度为 \(n\) 的初始全为 \(0\) 的数列,现在有 \(m\) 次将 \(l \sim r\) 区间内的所有数字都取反的操作。 有 \(q\) 次询问,每次询问形如 l r x,你
阅读全文
摘要:哎哎,太毒瘤,哎哎,太深刻。 题目链接 AT_abc140_e [ABC140E] Second Sum 解题思路 考虑有以下基本性质: 在 \(1 \sim n\) 的数列上,包含 \(i (1 \le i \le n)\) 点的区间(端点为整数)个数为 \(i \times (n - i + 1
阅读全文
摘要:题目链接 CF1288E Messenger Simulator 解题思路 发现向前移的部分普通维护比较困难,因此我们考虑通过某种方式来维护这个东西。 考虑建立 \(m\) 个虚点来维护,每次询问都将实点移至虚点去。这里求答案我们需要支持单点加,区间求和,可以用树状数组轻松维护。 参考代码 #inc
阅读全文
摘要:题目链接 CF1227D1 Optimal Subsequences (Hard Version) *1600 CF1227D2 Optimal Subsequences (Hard Version) *1800 解题思路 本篇题解分 D1,D2 两个部分来写。 D1 sol: 我们容易发现有以下两
阅读全文
摘要:题目链接 CF1108E1(luogu) CF1108E2(luogu) CF1108E1(codeforces) CF1108E2(codeforces) 解题思路 这篇题解分 E1,E2 两个部分来讲。 E1 sol: 我们发现可以暴力枚举最后经过所有操作之后的最大值,那么显然的,我们将不会做任
阅读全文
摘要:题目链接 CF1454F Array Partition 解题思路 我们发现显然第一个和第三个区间的值区间随着长度的增大而增大。 于是我们就可以枚举第一个区间的右端点位置,然后现在问题就转化成了找到一个断点来确定第二,三个区间的长度,由于前文提到的第三个区间的值区间随着长度的增大而增大,于是我们就可
阅读全文
摘要:代码恢复训练 2024.6.8. 题目链接 链接 (atcoder) 链接 (luogu) 解题思路 数据结构板子题。 设 \(ans_i = a_i \times b_i\)(\(a_i\) 和 \(b_i\) 是此时的 \(a_i,b_i\))。 设 \(f1(i,j)\) 表示 \(a_i +
阅读全文
摘要:链接(luogu) 链接(codeforces) 有一个结论就是每次操作直接取一个存在目前最左边的最小值区间即可。 但是我不会证啊...... 大家感性理解。 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? 打
阅读全文
摘要:先上 AC 代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #include<bits/stdc++.h> using namespace std; #define map unordered_m
阅读全文
摘要:链接 下位蓝。 题目可以用尺取法 + 区间加的方式来做。 参考代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #include<bits/stdc++.h> using namespace std
阅读全文

浙公网安备 33010602011771号