Codeforces Visit
记录一下自己大概 vis 了那几场??随机补题大法好!
CF632 Div.2
飞速模拟出 ABC。优势在我!
CF1333D
发现就是把字符串变成 LLRR 此类形状。所以开头必然是 L 啊,然后我们考虑先把 L 换到第一个。
发现必然是 LLLLLLLLLLLRRRRRRRR 啊,很快啊,不会了。
CF1333E
你妈妈 construction 是吧。
CF1333F
好像比 E 简单。
考虑调整法。
换入因数肯定是优的,所以一个数被加入肯定是其最大因子被加入的时刻被加入,产生的贡献就是那个。
所以我们考虑按贡献排序加数即可,容易证明正确性。
CF 675 Div.2
ABC 模拟,D好像想的差不多,就是一个排序建图。E男泵。看看想不想的出来。但事实上我唐了。可以直接存下答案,然后可以证明只从 f[i + 2] f[i + 1] 转移即可。F 是 Boring queries.
CF 676 Div.2
A 是 \(a \oplus x + x \oplus b \geq a \oplus b\)
B 唐了,直接在出口和七点处考虑就行了。
C 构造牛魔。
D 看不懂貌似是 obervation
E 你妈妈,观察题死一死。不会。
CF 678 Div.2
C 考虑一些位置骗过去,剩下乱填即可。
D 均匀分配即可。
E 是 mex of mex 很有趣。考虑按照排序加入某一些数,不难发现两个段间 \([l, r]\) 之间如果有空段那么就是 mex 了,我们这样可以直接扫一遍求 mex 即可。貌似是对的。
钦定条件弱了,臣该死。
考虑一个区间的 mex 的合法条件即:\([1, x - 1]\) 都存在,而 \(x\) 不存在的区间。然后我们考虑怎么产生这个区间。
就是一个 \(a_p = x\) 满足 \(prv_x > l \and c \in [1, x - 1], prv_c \in [l, r]\) 判定这个是难的。
你考虑有没有一个连续区间满足加入了 \([1, x]\) 满足上面那个条件。我们按照值域离线扫描线。
然后假设我们枚举到了一个 \(x\) 然后我们就可以用 $\underset{c \in [1, x - 1]} \max {pre_{x, c}} $ 这个我觉得吧你就考虑上一个 \(x - 1\) 的位置建立主席树就好了!赢麻了。但是我好像 dirty work 了!乐!想法是对的,但是呢,亲,你不觉得很麻烦吗。你考虑正统扫描线就是三个队长那种。考虑 \([lst_i + 1, i)\) 这个区间有没有被填满就好了,那个不枚举直接扫就是对的,所以说我为什么是唐诗。哎,至少 \(\rm polylog\)
的次数一样,赢!
还有一些细节,就是如果一个数最后出现后其他数没出现也算,赢!注意细节。
F 是个 dirty 莫反。
CF679 Div.2
哈人 AB。
C 估计唐诗也能过
D 估计板题。
E 唐诗
F 唐诗动态 dp哈哈。难写还卡常,狗都不写。
CF682 Div.2
ABCD 不太想看
但是 E 很有趣,和我想得差不多,区间个数会很少。做法比较细节,钦定最大值然后开扫!
F 随不会。
CF683 Div2
D 是个螳臂的直接 DP
E 是绿的就很抽象。考虑最大可以保留什么数使得 \(a_i a_j\) 彼此间只有一对是双向奔赴,建出 01trie 不难发现,连边向的都是子树。不难发现只有一个子树可以保留两个,其他只能保留一个,\(f_x = max_{f_{lc}, f_{rc}} + 1\)
F 别看 F1 了。结论,必然包含众数 \(x\) 不然必然可以扩张子段使得有数出现次数,DS 不太想想 polylog 啊/kk,考虑根号。分类,出现次数 \(\leq \sqrt{n}\) 那么可以直接考虑枚举 \(x\) 的最大出现次数,然后扫!!时间复杂度 \(O(n\sqrt{n})\) two-pointers 即可。那么出现次数 \(\geq \sqrt n\) 的数个数只有 \(\sqrt n\) 个!这个怎么做?设 1,-1,然后找最长权值为 0 的串。时间复杂度 \(O(n\sqrt n)\)
GH 止步。一天看 6 场也是牛的。
CF 701 Div.2
没啥难的。
CF 703 Div.2
E 直接算 DP 就好了。
考虑分类讨论:
是 \(LCA\),那么直接数就好了。
然后我们发现如果只有一个交点:
那必然是一个链上的点拖下去的。这个直接数就好了。
CF 705 Div.2
神秘。
CF 706 Div.2
这个 E 是啥子玩意。
F 看看会不会。考虑树会不会成环,然后求出合法父亲个数,乘法原理即可。
CF 707 Div.2
这个 C 有操作的,鸽巢原理乱搞。
没想到这个 F 是个切比雪夫乱搞啊。
CF 708 Div.2
这个 E2 很厉害啊!考虑优化转移,然后你发现一种 cost 非常少,枚举即可。
CF 709 Div.2
E 你考虑对 \(a_i\) 做单调栈,然后你如果枚举到一个最小值直接算就好了。维护前缀单调栈 max,就像之前哪一个题一样。
F 是个 useless 暴力。
CF 711 Div.2
E 是个交互。不会!!
F 是啥,打算 marked 了。
CF 712 Div.2
E 是旅行商??
考虑 \(\max \{c_i, a_j - a_i\} \to c_i + \max\{a_j - a_i - c_i, 0\}\) 那么我们按 a 来排序。从后到前,走前缀 \(max\) 即可。
G 是 998244353 你别急。
累了。
CF 712 Div.2
D 枚举 min 维护即可。
E 是个 \(10^9 + 7\)。
无非分为很多个点满足:
只加,只减去,不动的。
考虑全部都会变成一个值 \(t\)。
那我们每个点都是固定值了。但是发现 +点 一定在 -点前面,不然可以发现不相同。当然我们也可以 reverse。
那么就变成经典问题了,答案不是排列。是可重集排列。
F 好像是简单题!
考虑拆,分类讨论,完啦!!