2020/10/14 随笔
上午的训练赛挂了很多分。。
大概看了下发现 T1 挂了 45 pts,原因是我在差分时在左端点的加上数时把语句放在一个错的 if 中。
T2 挂了 95 pts,更惨了,原因是我看错题意了qaq,应当直接选取一个子树,而非在子树内还要割掉部分;然后就是混淆了子树 sz 和 dp 数组的关系,应该分开储存。
上午 10:00 左右把昨晚写的一套 Codeforces Round #675 (Div. 2) 补了下(A,B,C,D),查阅了一下题解。f 题 Boring Queries 写了近 1h 但是发现数组开爆了,又翻了下别人的代码发现写的线段树(空间线性),然而我写的 st 表 MLE 起飞。码了许久实在没心思再去写 SegmentTree 了。e 题感觉还有点思路,准备晚上想下找个空余时间写写代码。
下午先把上午挂的分都更正了一下,发现有一些习惯不太好,比如应该读题慢一点,想好了思路和细节再去写代码,但考场上总是没能做好。
打算写国庆课件的题,昨天问了 CZ 一些关于 Kruskal 重构树的问题有了回复,但仍没太明白。主要是一些树上算法实现的部分,可能是我关于树上算法写得太少了,于是找来一道 Kruskal 重构树的板题 P4197 Peaks 试试手。大概写了个重构生成树后做一下树上倍增和主席树实现的。但是一直没过,刚刚晚一点想了下,发现又可能是一点愚蠢的问题,比如离散化建主席树后应当把原数组答案带回来。
下午放学后就带队集体跑圈了,发现好久没锻炼耐力了,800m 就有点虚了。
晚上过来又改了下下午的那道 Kruskal 重构树,实在又 zbl。然后下午 cz 推荐我去做一场 ARC068,于是 19:30 到 21:30 搞了一场,体验还行。最后查阅了下 Official Editorial 即官方题解和 cyz 的一篇相关博客 题解 AT2301 [ARC068D] Solitaire,不过有点没懂。最后 cz 跟我讨论了一下,并跟我讲了他的一个组合意义优化 dp 计数的方法,感觉挺棒的。不得不服。(这场 ARC 的思路记录 ARC068 写题记录)
总之感觉晚上效率还好,但是早上和下午状态不太稳定(可能跟我昨晚感冒了今早头疼有点关系)。