03 2024 档案
发表于 2024-03-28 19:03阅读次数:18评论次数:0
摘要:Problem - 1373D - Codeforces 先看出了一个很显然的东西,逆转的子序列的长度必须是偶数。 但之后就想错了,想到双指针和其他方法去求这个最大段。 但我粗暴的通过 来贪心双指针明显是不对的。 最大子段和 只要把 \(a_{i + 1} -
阅读全文 »
发表于 2024-03-28 16:21阅读次数:6评论次数:0
摘要:基本情况 B 题目读假卡了快半小时,以后一定要彻底读清楚题目,分析好每一种情况再写代码。 D 想了一个解法,但无法保证答案有序,之后思维就死在了那个解法上无法变更。 D. Merge Equals Problem - D - Codeforces 一失足成千古恨,再回頭是百年身 Mycode map
阅读全文 »
发表于 2024-03-27 14:20阅读次数:9评论次数:0
摘要:基本情况 D卡太久了,第一次搞计算几何没经验 D. Pair Of Lines Problem - D - Codeforces 思路不难,重要的是以后计算这种叉乘一定要开longlong E. Tufurama Problem - E - Codeforces 我们维护一个存储下标数据的树状数组,
阅读全文 »
发表于 2024-03-23 16:20阅读次数:10评论次数:0
摘要:基本情况 30min时候就想出很接近正解的做法了,但是没想清楚就草草否决后面改了一个很麻烦的做法,一小时才过。 原题,不屑于抄。 C. Tree Cutting Problem - C - Codeforces 二分答案肯定不用说。 有一个直觉,要维护每个点的子树大小,然后把
阅读全文 »
发表于 2024-03-21 20:52阅读次数:7评论次数:0
摘要:D. Timetable Problem - D - Codeforces 转化成背包问题 dp预处理 很容易看出来是背包,但是怎么把区段内的时间转化成物品很吃力。 首先物品的体积肯定不能直接用题目给的时间点,而是用逃课的数量。 然后对物品的价值进行预处理 预处理出每天的日期 每次处理一天留下 \(
阅读全文 »
发表于 2024-03-20 21:29阅读次数:9评论次数:0
摘要:基本情况 C又不是正解,A甚至还加一,以后要考虑好再交。 C. Constructing Tests Problem - C - Codeforces 为了更好的代码实现而非手算出解来推式子 式子都推出来了。 $n^2 - {\left \lfloor \frac{n}{m} \right \rfl
阅读全文 »
发表于 2024-03-20 11:06阅读次数:4评论次数:0
摘要:基本情况 场出三题,C卡了很久而且不是正解。 C. Swap Adjacent Elements Problem - C - Codeforces 前缀和妙用 显然连续的 对应的序列是一定可以有序的。 有想到这点,但没想到合理的检查方式,所以直接用 模拟
阅读全文 »
发表于 2024-03-18 16:02阅读次数:5评论次数:0
摘要:基本情况 尝试板刷Edu的第一天,场出三题,感觉补题困难。 D. Almost Acyclic Graph Problem - D - Codeforces 暴力的优化技巧 先考虑暴力,对每一条边进行删边,然后跑一遍判环。但是 , 肯定超时。 我们从
阅读全文 »
发表于 2024-03-13 12:50阅读次数:19评论次数:0
摘要:Problem - D - Codeforces 用记忆化搜索过的,然而DP能快300ms 记忆化搜索 | 模拟 核心思路一致,都是通过定义一个状态,即在第t次到达第now点来去重剪枝 记忆化搜索 int n, m, x; std::vector<std::pair<
阅读全文 »
发表于 2024-03-12 21:26阅读次数:50评论次数:0
摘要:Problem - G - Codeforces 思路 一开始写了一个无脑BFS剪枝求最短路,然后顺带更新最小线路数量,被hack了。 应该直接针对问题处理,通过BFS直接求最小线路数量。 这题可以转化成对于一个单点,只有两种选择 走与当前颜色相同的点,答案不变 走与当前颜色不同的点,答案加一 这被
阅读全文 »
发表于 2024-03-12 21:11阅读次数:9评论次数:0
摘要:https://www.luogu.com.cn/problem/CF1702E 转化题意 把所有数连边,判断是否为二分图。 染色法 void solve() { #define tests int n; std::cin >> n; std::map<int, std::vector<int>>
阅读全文 »
发表于 2024-03-12 17:32阅读次数:11评论次数:0
摘要:Problem - 1730B - Codeforces 贪心解法 由绝对值的性质易证。 那么直接把 算到距离中,转换成求最左和最右“坐标”的中间点的简单问题。 //通过把t[i]算到距离中,转换成求最左和最右坐标的中间点的简单情况 v
阅读全文 »
发表于 2024-03-10 14:02阅读次数:33评论次数:0
摘要:Problem - B - Codeforces 维护前缀区间mex和后缀区间mex,枚举二者相同的断点 原理 随区间增长, 只可能增,不可能减,所以可以用一个变量维护目前的 ,区间扩大后可以直接沿用较小区间的 ,再处理增加即可。 维护 \
阅读全文 »
发表于 2024-03-09 22:57阅读次数:54评论次数:0
摘要:基本情况 ABCE 秒了,D小细节处理出错(太久没写dp)+4。 A - Spoiler https://atcoder.jp/contests/abc344/tasks/abc344_a 有更优雅的解法 signed main(){ std::string s; std::cin >> s; st
阅读全文 »
发表于 2024-03-07 13:39阅读次数:20评论次数:0
摘要:Problem - 1676H2 - Codeforces 思路 原问题可以以直接转化成求 的数量。 归并排序 原理很直接,归并排序就是为了减少逆序对的数量,所以直接在操作的时候记录减少的数量即可 排序后的数组无逆序对,归并排序的合并操作中,每次后段首元素被
阅读全文 »
发表于 2024-03-06 11:43阅读次数:28评论次数:0
摘要:Problem - C - Codeforces. 思路 首先很显然对 数组排序能最小化 的花费。 难点在 的选择,因为已经对 排序,不可能再兼顾 的优劣,所以 需要类似枚举的技术,这是一个类似搜索最优子集的问题,可以用 \(D
阅读全文 »
发表于 2024-03-02 23:36阅读次数:244评论次数:0
摘要:基本情况 前四题秒了,但是都有不够优雅的地方 F知道是线段树,但是写不出来,极其绝望 C - 343 C - 343 (atcoder.jp) 更简洁的回文判断 MyCode bool check_p(i64 x) { std::string s(std::to_string(x)); int n
阅读全文 »
发表于 2024-03-02 11:36阅读次数:20评论次数:0
摘要:Problem - B - Codeforces 被DP给限制思路了 思路 其实可以枚举前四个硬币的数量,然后通过倍数关系和更优的方案来限制每个硬币的枚举区间,最后再对剩余的值是否是最后一个硬币的倍数做检查,是就根据最小更新答案。 一块钱最多两个,因为三个就可以直接用三块钱代替 三块钱最多一个,因为
阅读全文 »
发表于 2024-03-01 13:45阅读次数:15评论次数:0
摘要:Problem - 1774B - Codeforces 思路 First, We can divide cells into segments that except the last segment, al
阅读全文 »