首页 > 其他分享 >Codeforces Visit

Codeforces Visit

时间:2023-11-06 21:34:59浏览次数:26  
标签:max Visit Codeforces CF 枚举 即可 Div.2 考虑

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 好像是简单题!

考虑拆,分类讨论,完啦!!

CF715 Div.2

标签:max,Visit,Codeforces,CF,枚举,即可,Div.2,考虑
From: https://www.cnblogs.com/Custlo/p/17813802.html

相关文章

  • Educational Codeforces Round 157 (Rated for Div. 2)
    A.TreasureChest题目大意:人在0处,宝藏在x,钥匙在y,人最多拿宝箱z秒,问你最快多久开宝箱?思路:如果说钥匙在宝箱的左边,那么人只需要往右走就是最佳答案,如果钥匙在宝箱的右边,那么人只需要拿的宝箱到最佳地点就行#include<bits/stdc++.h>usingnamespacestd;voidsolve(){ intx,y......
  • Educational Codeforces Round 157 (Rated for Div. 2)
    F.FancyArrays第一眼感觉是去容斥掉条件1,因为条件2其实挺紧的。不妨用\(f(l,r)\)表示\(a\)值域在\([l,r]\)的方案(满足条件2)。那么答案为\(f(0,+\infty)-f(0,x-1)-f(x+k,+\infty)\),因为如果选了\([0,x-1]\)的数,那么还要更大的话,一定会选到\([x,x+k-1]\),所以你要......
  • Codeforces Round 907 (Div. 2)
    ASortingwithTwos题目大意:选择一个m,然后将1~2^m下表的数减一,可以操作无限次,问你能不能使数组单调递增题目数据851234556534496557566874432162245328131719275717913531757179921012340678910YESYESYE......
  • Codeforces Round 905 (Div. 2) C. You Are So Beautiful
    题面翻译给定数列\(a\),定义一个子序列\(S\)是合法的当且仅当从\(a\)中有且仅有一种选法能选出子序列\(S\)(选法相同定义为最终选出的位置集合相同)。求其有多少非空合法子序列,满足它占据了\(a\)中一端连续的区间。\(n\leq10^5\)。思路判断区间合法性对于一段区间\([l......
  • Educational Codeforces Round 157 (Rated for Div. 2)
    A.TreasureChest分类讨论一下,只有两种情况。走到钥匙处,然后走到箱子处走到箱子处,移动箱子,走到钥匙处,走回箱子处对于第二种情况可以直接枚举箱子被移动到的位置#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongusingvi=vector<int>;usingpi......
  • Educational Codeforces Round 157 (Rated for Div. 2) D. XOR Construction
    题目链接题意给你\(n-1\)个整数\(a_1,a_2,\dots,a_{n-1}\)。你的任务是构造一个数组\(b_1,b_2,\dots,b_n\),使得:从\(0\)到\(n-1\)的每个整数都在\(b\)中出现一次;对于从\(1\)到\(n-1\)的每个\(i\),\(b_i\oplusb_{i+1}=a_i\)(其中\(\oplus\)表示......
  • Codeforces Round 906 (Div. 2) Doremy's Drying Plan E1.&E2
    传送门先考虑\(E1\)只需要删除两条线使得不被覆盖的点数最多。观察到点数只有\(200000\)那么我们完全可以先将被至少\(3\)条线覆盖的点删掉。考虑枚举一条线,枚举这条线覆盖的点寻找另外一条线覆盖这些点中的最大值,然后再找没覆盖这些点之外的线的最大值即可。复杂度容易证明......
  • CodeForces 1060G Balls and Pockets
    洛谷传送门CF传送门NOIP模拟赛T2。很厉害的题。想象数轴上\(a_1,a_2,\ldots,a_n\)位置上各有一个洞,每个非负整数位置上有一个点。每次操作相当于,对于每个点,如果它刚好位于一个洞,那么它会掉进去;否则设它的位置为\(p\),位置在它前面的洞有\(t\)个,那么这个点的位置变成......
  • Educational Codeforces Round 134 (Div.2) D 题解
    题目链接D.MaximumAND题目大意给定两组序列\(a\)\(b\),长度为\(n\),现有一新序列\(c\),长度也为\(n\)。其中,\(c_i=a_i\oplusb_i\)。定义\(f(a,b)=c_1\&c_2\&……\&c_n\)。现在你可以随意编排\(b\)序列的顺序,求\(f(a,b)\)的最大值。思路以下位运算均是......
  • Educational Codeforces Round 128 (Rated for Div. 2)
    添加链接描述C题显然二分0的数量,然后双指针,算一下前缀和后缀1的数量即可。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<map>#include<vector>#include<set>#defineAputs("YES")#defineBputs("NO&q......