Codeforces简要思考过程复盘


1632 Codeforces Round #769 (Div. 2)

Rating: \(\color{blue}{\texttt{1839}}\) -> \(\color{blue}{\texttt{1819}}\)
Rank: \(\texttt{1418}\)

B 题还是有些思维难度的,考场上推了一些时间,20 分钟才解决。

C 题自己还是没有想到做法,这种题目以后还是要多推推,多练练。

D 题想到了大致思路,但是写起来有点麻烦(确实码力不够。不过赛后才发现可以用 ST 表 + 双指针 做到单 \(\log\)

1631 Codeforces Round #768 (Div. 2)

Rating: \(\color{blue}{\texttt{1729}}\) -> \(\color{blue}{\texttt{1839}}\)
Rank: \(\texttt{159}\)

C 题考场上大概分析了 10 几分钟,一开始想法是正确的。但是由于打代码的时候太急,把一个 \(i\) 打成了 \(k\)
Wa 完之后还调了很久,导致浪费了很多时间。

D 题没有分析出一个很显然的结论“如果一个序列中 \([x,y]\) 的元素个数比其他元素个数多至少 \(k\),那么一定能够分成 \(k\) 段每段中 \([x,y]\) 区间内元素个数都比其他元素多的子序列”。
知道这个结论之后就很简单了。

E,F 题都没想出来,觉得 F 题 50 分钟还是可以去想一想的。

1629 Codeforces Round #767 (Div. 2)

Rating: \(\color{blue}{\texttt{1722}}\) -> \(\color{blue}{\texttt{1729}}\)
Rank: \(\texttt{1103}\)

C 题很明显是要一直二分往后找,但一开始想的时候没想特别清楚,导致对这样例 debug 了好久。
想清楚具体细节再开始写代码

D 推“每个回文串仅有可能由1或2个串构成”这个结论还算顺利,但代码细节问题较多。
首先是忘判单独回文串,改了一下发现对于“abc,dba”这种情况有问题。
后来换了一种写法,发现还会由“abc,ba”这种判不出来。导致写了两种写法最后还画好多时间 debug。

E 题构造方法是想到的,但是最后时间太紧,没判j的边界这个错误没 de 出来。
写代码时就注意细节