CF VP 记录

\(1.\) Codeforces Round #618 (Div. 2)
\(Rank\)\(1679\),赛时:\(ABC\),补题:\(D\)

\(2.\) Codeforces Round #619 (Div. 2)
\(Rank\)\(2422\),赛时:\(ABC\),补题:无

\(3.\) Educational Codeforces Round 82 (Rated for Div. 2)
\(Rank\)\(2151\),赛时:\(ABC\),补题:无

\(4.\) Codeforces Round #620 (Div. 2)
\(Rank\)\(677\),赛时:\(ABCF_1F_2\),补题:无

\(5.\) Educational Codeforces Round 83 (Rated for Div. 2)
\(Rank\)\(402\),赛时:\(ABCDE\),补题:无

\(6.\) Codeforces Round #622 (Div. 2)
\(Rank\)\(736\),赛时:\(ABC_1C_2\),补题:无

\(7.\) Codeforces Round #625 (Div. 2)
\(Rank\)\(209\),赛时:\(ABCD\),补题:\(EF\)

\(8.\) Codeforces Round #626 (Div. 2)
\(Rank\)\(709\),赛时:\(ABC\),补题:无

\(9.\) Codeforces Round #958 (Div. 2)
\(Rank\)\(56\),赛时:\(ABCDE\),补题:无
总结:难得打了一场好名次,简要说一下。
C证明:显然前两位必然有一个最高位为1,且此后最高位均为1,以此类推每次往下确定一个位,故至多 bitcount(n) + 1。构造是容易的。
D的dp本身是显然的,主要在于总次数的上界。由于一个点的t显然是其相邻t的mex,故想要让某个点的t达到T,就需要其相邻的点的t分别为1,2,...,T-1,设构造出T的点数为f(T),有:
f(T)=f(1)+f(2)+...+f(T-1)+1,显然这个式子是2^T量级的,故对于n,其T的上界是logn。
主要卡在以为上界为3,需要多根据数据范围与时限猜测做法,并加强反例构造的能力。
E是个我最爱的拆贡献算贡献题,先算出每个点的li与ri,正常计算出总答案ans。
对于每个点i的删除,首先去除其自身的贡献,然后减去跨越了i的区间的贡献(长度变短,用树状数组维护即可),最后对于lj=i或者rj=i再进行二分rmq找到新的lj'与rj'即可。
注意由于li与ri可以取到0与n+1,在多测清空的时候需要额外小心这两个点(吃了两罚)

posted @ 2022-01-23 10:40  David24  阅读(84)  评论(0)    收藏  举报