8.15模拟赛总结

今天没有挂分 希望每天都可以有这么好(甚至更好)的状态

时间安排

8.30-10.00

看了看题 思考了一下大概都是什么 感觉都是略有想法的题

看T1 很快就想到了dp的思路 但是因为过于简单觉得很不可思议 但是发现我这种dp需要确定匹配串 于是开始猜结论

于是我猜匹配串一定在原串里出现过 然后写了一发

后来手捏数据hack了自己 然后就老老实实写了个枚举的分段 结论用来偏

10.00-12.00(?)

写T3 很快猜出结论 答案上界一定是每条边被覆盖的次数和2取min之后的累和 然后考虑构造方案

不会构造

于是我就写了个二进制枚举+check

check写了个树剖+线段树

复杂度是 2 m m   l o g n   l o g n 2^mm~logn~logn 2mm logn logn

12.00-13.00

想T2

先打了个splay上去

然后开始推完全二叉树 感觉是不是有什么可以分成子树内外的东西做 然后完全二叉树是不是可以满足贡献一样之类的

然后发现并不是这样)

题目分析

T1

啊 做法对了一半

upd

考虑根号分治 m > n m>\sqrt n m>n 的时候 可以被改变的位置不超过 n \sqrt n n 个,可以直接枚举哪些位置发生了改变,答案就是对应位置上的 m i n ( c n t 0 , c n t 1 ) min(cnt_0,cnt_1) min(cnt0,cnt1)

T2

其实考虑到分开贡献做了 但我当时想的还是直接得答案

upd

重要转换是要考虑到dp对子树的减少量 而且要注意 当一个点还在子树内的时候 进行splay操作的时候对祖先点没有影响

然后dp

T3

upd

非常高妙的欧拉回路题 考虑把题目要求转成更强的限制 若能构造出强限制 则题目要求的东西也一定有解

你可能感兴趣的:(考试,模拟赛)