「Log」2023.10.16 小记

发布时间 2023-10-17 07:14:05作者: Eon_Sky

CSP 第二轮倒数 \(4\) 天。

序幕

\(\text{6:40}\):到校。

鼠标 USB 接口第一遍就对准了但还是没插进去。

整理博客,等会写 CF 题。

\(\text{7:10}\):开始写题。

\(\color{royalblue}{CF1201D}\)

因为只能从下向上走,所以就只用一行一行考虑,对于一行显著从一头走到另一头是最优的,所以记录 \(f_{i,0/1}\) 表示取完第 \(i\) 行后在左 / 右的最少行走数量,至于安全列的限制只要预处理左右最近的安全列即可。

\(\color{blueviolet}{CF346B}\)

LCS 问题基础上多加一维,记录第三个串匹配了多少,记一个 KMP 的 \(nex\) 数组即可。

\(\color{blueviolet}{CF509C}\)

贪心地,一定是从低位向高位放 \(9\) 使得一个数尽量小,在此基础上,枚举当前数字哪一位第一次比上一个数字大并且合法,最小的显然最优。

\(\color{blueviolet}{CF354C}\)

枚举公因数,找合法区间,桶前缀记一下就解决了,复杂度线性自然对数。

\(\color{blueviolet}{CF1152D}\)

贪心地,考虑偶数深度点都选最优,类似卡特兰数的递推求解即可。

间幕 \(1\)

中午点烤肉饭,虽然是烤肉饭店,但鱼丸饭真的好棒。

打了会块,打块时候一直在发抖,恰烂分。

吃完饭选择主动昏迷,睡午觉能让效率变高些,醒的时候就十四点多了,墨迹墨迹准备写题。

不一会就打完了,强制在线毁了这道题。

先是倍增的 \(fa_i\) 没清空全,调了一个多点。

然后最后发现错了以下内容(并查集预处理):

for (int i = 1; i <= n; i++)
	f[i] = siz[i] = 1;

不知所云,调了一个多点,其他没错的,警钟长鸣。

\(\color{blueviolet}{P3302}\)

不考虑连边操作就简单地主席树即可,连边启发式合并就行。

连写带调 \(3.5h\)

\(\color{blueviolet}{CF1146F}\)

DP,三种状态是显然的,只要注意转移即可,每次将一个子树合并到当前处理过的子树中。

\(\color{blueviolet}{CF1583F}\)

神仙构造题,题解塞到套题里面。

尾声

想到躺在床上酥酥麻麻的感觉一回家就睡了,虽然躺了好一会才睡着。

沉睡。