日记

日记

Tue Jan 07 2025
3 分钟

原来我需要的,从来只是决心而已。

因为今天把博客园弄好了,所以以后的日记和博客都会同步更新。

而且,因为我天天忘记写日记,所以就只在有模拟赛(或者 Codeforces)时候才更了,练习题就记在学习笔记里。

上午#

考试。

考试链接题解在此

T1#

赛时想法:如果看到两行有翻转方式可以使它们发生冲突,那么就把他俩合并到一个连通块里。用并查集实现。答案就是 2连通块数量2^{\text{连通块数量}}

然而这个做法是假的。正解的做法是 2-SAT。然而也更连通块有关,答案也是 2连通块数量2^{\text{连通块数量}}

其实赛时是想过 2-SAT 的,但是有点忘了,不敢写。

T2#

赛时想法(其实就是正解):发现如果一个子数组下标是 lrl \sim r,设 ai=x+ia_{i} = x + i,那么对于每一个 i[l,r]i \in [l,r]xx 都是一样的。现在的问题就是如何找到一个 xx 使得子数组长度最大且操作总数小于 kk。可以用双指针解决(我的一生之敌)。用两个 set 维护中位数(因为可以证明当 xx 是中位数的时候,操作数最小),然后用双指针,rr 每次往后跳,如果跳到哪一个地方使得操作数大于 kk,那么就把 ll 往后跳直到操作数小于等与 kk

但是赛时没敢写。看来双指针还是我的梦魇啊。

T3#

赛后知道是一个根号分治 + 树形 dp。感觉不难,但是没有 std,我还是去 qoj 找的 std。

T4#

没看。

中午#

就是在中午把博客园搞好的。然后把 T1 的 std 看了。看的 kaka 的。

下午#

T1#

2-SAT 简单题,虽然我赛时没看出来。

T2#

上午的赛时想法是对的。

看来还是得大胆一点。

T3#

与其说是改了,不如说是 c 了一份 tj。但是这是我找到的最符合题解做法的 std,也是马蜂最舒服的一篇。

晚上#

祝老又开了一个专题:斜率优化 dp。本来觉得是很高大上的东西(啊其实却是挺高大上),看了博客觉得其实也还行(但是不妨碍它高大上)。

然后就是每天 20min+ 的颓废 + 日记时间。

明天看看能不能啃下来斜率优化 dp。