日记
原来我需要的,从来只是决心而已。
因为今天把博客园弄好了,所以以后的日记和博客都会同步更新。
而且,因为我天天忘记写日记,所以就只在有模拟赛(或者 Codeforces)时候才更了,练习题就记在学习笔记里。
上午
考试。
T1
赛时想法:如果看到两行有翻转方式可以使它们发生冲突,那么就把他俩合并到一个连通块里。用并查集实现。答案就是 。
然而这个做法是假的。正解的做法是 2-SAT。然而也更连通块有关,答案也是 。
其实赛时是想过 2-SAT 的,但是有点忘了,不敢写。
T2
赛时想法(其实就是正解):发现如果一个子数组下标是 ,设 ,那么对于每一个 , 都是一样的。现在的问题就是如何找到一个 使得子数组长度最大且操作总数小于 。可以用双指针解决(我的一生之敌)。用两个 set
维护中位数(因为可以证明当 是中位数的时候,操作数最小),然后用双指针, 每次往后跳,如果跳到哪一个地方使得操作数大于 ,那么就把 往后跳直到操作数小于等与 。
但是赛时没敢写。看来双指针还是我的梦魇啊。
T3
赛后知道是一个根号分治 + 树形 dp。感觉不难,但是没有 std,我还是去 qoj 找的 std。
T4
没看。
中午
就是在中午把博客园搞好的。然后把 T1 的 std 看了。看的 kaka 的。
下午
T1
2-SAT 简单题,虽然我赛时没看出来。
T2
上午的赛时想法是对的。
看来还是得大胆一点。
T3
与其说是改了,不如说是 c 了一份 tj。但是这是我找到的最符合题解做法的 std,也是马蜂最舒服的一篇。
晚上
祝老又开了一个专题:斜率优化 dp。本来觉得是很高大上的东西(啊其实却是挺高大上),看了博客觉得其实也还行(但是不妨碍它高大上)。
然后就是每天 20min+ 的颓废 + 日记时间。
明天看看能不能啃下来斜率优化 dp。