01 2022 档案
摘要:复健训练了属于是)) A 考虑直接找第一个不上升的位置。如果没有就直接选最后一个数。 #include <bits/stdc++.h> using namespace std; typedef double db; #define int long long #define fi first #de
阅读全文
摘要:AT3954 [AGC023C] Painting Machines 首先可以考虑对每个数拆贡献,一个数如果有贡献显然是它自己有贡献或者排在它后面的数有贡献。 这个东西看起来就不好做。所以直接容斥掉,变成求它有多少情况不贡献。 此时当且仅当它后面的数和它自己
阅读全文
摘要:回滚莫队是对付一类操作难以撤回的莫队做法。 从例题开始。 【模板】回滚莫队&不删除莫队 题目要求区间中相同数的最大坐标差,显然地这个东西撤回是很难的。 那么考虑回滚莫队是如何做这件事情的: 首先我们把询问分块,然后将询问的左端点所在块作为第一关键字,把右端点置为第二关键字。 经过上述排序后我们发现,
阅读全文
摘要:CPU监控 观察到有区间加以及区间覆盖,而询问历史最大值是一个相对棘手的问题。 观察到没有区间最值操作。考虑按照时间轴来下传标记:记录 表示当前的覆盖、加法标记, 表示自从上次下传标记以来到现
阅读全文
摘要:[AGC022F] Checkers 看了题解半天之后的一种理解。 首先我们需要发现,一次操作本质上是选择两个点,把其中一个的坐标乘 另一个乘 那么考虑建立一个点,然后把操作的两个点向这个点连边,边权分别是
阅读全文
摘要:[AGC028D] Chords 首先要观察到,如果把连通块的最小点和最大点连起来,那么每个连通块之间必然不相交。 所以我们考虑计算当 在同一个连通块的时候有多少种情况,最后就是枚举所有对然后加起来。由于 一个最大一个小,所以
阅读全文