CF VP&Contest
作者:互联网
总结中的标记【更新】
-
\({\color{SkyBlue}V}{\color{SkyBlue}P}\)表示,\(well\)当然是\(VirtualParticipation\)呀
-
\({\color{SkyBlue} \surd }\)表示已经补完
-
\({\color{Green} \natural } {\color{Orange} \natural } {\color{Red} \natural }\)有硬核的数学或数据结构或算法
-
\({\color{Green} \sharp } {\color{Orange} \sharp } {\color{Red} \sharp }\)有巧妙的思维
-
\({\color{Orange} \flat }\)有小技巧
以上和题目本身难度无关,不同颜色只是只程度不同
CF Round 813 div.2
时间:
2022.8.13 ·10:30~11:45
结果
AC:A,B,C,D
Socre:2624
rk:3911
心路历程
是我第一次的真正\(participate\)这个一场\(CF\)的比赛。某大奆学长陪本蒟蒻一起来打,不过说只取切F。
看A切A,正常操作。
B想了一下,口胡了个错误的结论。然后又稍微想了想,等等,互质的\(lca(a,b)=a\times b\),那把两个数字换个位置不就是解决了么?搞定,不过还吃了一发罚时。
C可能还没有B难想,反正随便画了画,找到最后肯定是一个直线配一个非递减的序列,不就搞定了么?
前三题挺顺的,不到40分钟切完了。
D开始需要思考了,想了想,学长这时候提示了一下和最小值的两倍和最大值有关系,想到了一个做法,结果保安来机房赶人走了,没办法,结束了
题目分析
A
这没啥好说的吧,再写就有点浪费笔墨了
B
最重要的结论再上面写了,因为相邻的两个数互质,交换位置就好了~
C\(\color{Green}\sharp\)
还不错的一个小思维,我们不难发现,最后的结果一定大概是这样的形状:
就是最后的非递减序列的数一定不能在前面出现过(不然会变成0),稍微处理一下就ok了
D\(\color{Orange}\sharp\)
也是需要思维的题目,主要的想法是把直径的结果化简成为:
\[\max_{1\le i \le n-1}d(i,i+1)=\min(\max_{1\le i \le n-1}a(i,i+1),2\times \min(a_1 \dots a_n)) \]之后用二分就可以解决,分别讨论把\(a_i < \dfrac{mid}{2}\)的数字变过之后,剩余\(k\)的情况即可
E\(\color{Green}\natural\color{Green}\sharp\)
需要进行一些些数学的推理,当且仅当\(lcm(i,j,k)=k||(lcm(i,j,k)=2k,i+j>k)\)的时候,这个序列是不好的,这时候就可以进行遍历来寻找不合法的位置。为了有更优秀的时间复杂度,还得用线段树进行一个优化,但是注意不是直接区间加减就可以了,是要进行化简之后才可以使用线段树。
CF Round 810 div.2 \({\color{SkyBlue}V}{\color{SkyBlue}P}\)
时间:
2022.8.4 18:40~20:40
结果
AC:A,B,C
Score:2128
VPrk:2040
心路历程
暑假到外面来集训和旁边同学晚上6点多打的比赛。打了一天的题挺累了,晚上和旁边的童鞋一起打一下\(CF\)休息一下。
\(A\)比较简单,一个性质题,连构造多算不上。没想到第一次提交没检查,犯了一个愚蠢的错误,被罚了一次时。还好第二次顺利地过了,用了差不多\(10min\) 。(题解发现出奇的简单)
\(B\)也不是很难,就是在\(m\)是奇数的时候,有两种删除的方法——奇点和连续的偶点,还是比较巧妙的。不过\(20min\)也搞定了
\(C\)就稍微有点奇怪了,其实思路很好想,就是每次至少染2列或者行,但是怎么样能保证一定能够染满?我开始是从奇偶性入手的,写了\(100+\)代码,很失败。后来想到了用一个\(candelete\)参数,编辑能够删除多少个,然后配合一个排序,\(O(tk\log k)\) ,题目说了\(\sum{k}\le10^5\)所以是可以过的。不过这题还是有点艰难,到\(1h28min\)的时候才过。
\(D\)第一反应就是线段树维护,结果写了一半发现它增加减少是一个三角形的形状的,不能直接区间加。后来看时间不够了,也就走了,晚上还得回去休息,今天还是挺累的。
题目思考
A
想想就知道的体,只不过我还\(WA\)了一次
B
给了一个蓝的思维,但是其实绿的也差不多,稍微要一点思考
C\({\color{Green} \sharp}\)
这题还是被困住了一会,主要是要以一个简单的方式来实现,更多还是思考方面的提升,尤其是想到\(candelete\) 这个变量
D\({\color{Orange} \sharp}\)
没有什么算法的,但是“是真的难想”——我旁别的同学的话。确实,到时候订正之后再来回顾。
2022.8.6早上,订正出来了,借助了\(editorial\)的帮助,这道题主要是运用了两个差分数组,方便每一次进行下雨的更改。但是同时进行了一个类似懒标记的操作,就不必每一次进行更改,直接在一个vector后面增加就可以了
所以给的评价是思维有点难,算法也需要一些基础。
E\({\color{Red} \sharp}\)
2022.8.6晚上,之后看了题解才发现非常奇妙的一道题目,不知道是我套路见少了还是什么,但是这个思路确实很妙也很奇怪,用\(cnt_{i_1i_2i_3}\)的第\(j\)位来标记\(i_1=a_j,i_2=b_j,i_3=c_j\)是否成立,之后将\(a\oplus b+a\oplus c>b\oplus c\)转化成了\(cnt_{011}+cnt_{100}>0\)。最后用一个数位dp来解决,反正这个思路在我看来是非常新奇的
算法难度其实就是一个dp,但也有一点难度,可以说是不看\(editorial\)真的想不到
总结
整体来说前面题目时间控制有所加强,但是如何快速想到简洁的做法还有待加强。还有检查!
CF Round 807 div.2\({\color{SkyBlue}V}{\color{SkyBlue}P}\)
结果
AC:A,B,C,D
Score:3118
rk:T-1380
赛中心路历程
本来是昨天晚上直接打\(contest\)的,但是回家太晚了错过了,于是大清早爬起来打。清晨还是挺有精神的。
A简单,两分钟写完了,但是\(Submit\)出了问题,导致拖了点时间,不过也没啥影响了。
B开始结论蒙对了,但是交上去\(WA\),想了大概10min才意识到是没有开\(long long\)的问题,大意了!本身是一题多解,但是\(longlong\)必须开
C稍微想了一会,发现规律是一定要回溯到原来的单词。再看到\(q_{max}=40\)就意识到可以暴力的去往回跳,甚至不用二分找现在的位置在哪个区间内。
C写完要吃早餐了,边吃早餐边看的D。
D其实开始比较懵,但突然发现可以有延伸的规律,比如\(00010\)可以让\(1\)一直延伸到第二位变成\(01110\)的样子。这时候又发现这过程中的两个个不变量\(tot_{'01'},tot_{'10'}\),这样就可以了,若两次的数量不符合就不能成功,反之可以简单说明将一个\(01\)或\(10\)移动刚好需要一个操作,统计一下就好了。
结果WA了,开头结尾是不能变的!题目中都明说了QAQ,居然忘记特判了。偷懒的后果……
之后其实看了E,很快发现可以和2的平方和求最高位,但是怎么处理变化没搞懂。赛后才意识到是线段树,不过本身也没时间了,所以就算当时想到估计也做不太出来。
题目思考
A
非常基础,想一想就明白了
B
确实思考量和码量不大,稍微暴力的方法估计都能过
C
整体还是偏简单。代码方面就是要标记先后的顺序,思考就是要回溯一下。需要花时间的,而且还有一些细节的处理
D\({\color{Green} \sharp}\)
代码比较水,但是稍微要一点思考,想到0110不变要花时间
E\({\color{Green} \natural}\)
没打太多CF后面的几题,不知道有没有给高了,但是这个要运用到线段树或者\(bitset\)还是浅给了个橙色
总结
还是经验不多,写不了太详细。但是感觉早上打比较有劲。
注意一些细节如\(long long\),还有不要偷懒,该特判还是特判。
标签:SkyBlue,题目,Contest,color,CF,VP,Green,sharp 来源: https://www.cnblogs.com/Jryno1-blog/p/16597472.html