4/24 考试总结
时间安排
7:50--8:15 读题,T2 估计是个性质题,T3计数,T4神秘交互。
8:15--9:20 T1,分析一下题意发现即使求串的数量满足其与模板串数量不同的位置数满足一定限制。容斥,分类讨论,容易有 n^3 ,经分析后大概得到了一个 n^2 做法。先写了 n^3 ,然后 发现 n^3 卡一卡能直接冲过去。看 T2.
9:20--10:00 T2,先写了暴力。然后有 B2 的性质分。猜想是否是相邻的匹配。写了写发现假了。
10:00--10:30 T3,仔细想想,发现回路情况比较复杂,先写个状压暴力跑路。
10:30--12:00 T4,首先对于链可以 O n。很容易得到一个 n^2 做法,对于特殊档考虑随机化,但是效果不好。突然意识到能不能套个分治,写完发现不能通过,我的做法不满足可二分的性质。
12:00--? 吃饭
回顾反思
T1:
较简单的题,容易有 n^3 做法。
对于 n^2 ,枚举两维后,另两维对应一个上下界,预处理后二位前缀和即可。
T2:
算是一个分析性质,然后大胆猜结论的题。
我赛时猜想的相邻匹配差不多对,但是我忽略了一点,就是对于一个匹配的贡献,其分奇偶两种情况,所以应该将元素分成奇偶两类分别按照相邻匹配考虑。
发现当匹配交叉时会产生额外贡献,分析猜想可得其多余的贡献即为这种匹配方案的逆序对数。
猜想分析的时候要注意对情况的讨论。
T3:
比较好的题。
计算哈密顿回路,那么呈现到每一层就是若干弧线,要么直上直下顺承,要么和别的线连载一起。
抽象地考虑,可以将其看作插头。那么问题变成了当前有若干插头,转移时考虑与新的插头合并,然后继续考虑下一层。
可以用组合数计算。
赛时没有建立起比较清晰的模型,所以分析时显的困难。
这种层层之间的回路可以抽象为插头。
T4:
人类智慧题。
考虑维护一棵虚树,最初只有根节点,然后对于新的点分类讨论找到其在虚树上的位置,更新虚树。
每次暴力的一层一层找外层是 n^2 的。
考虑树剖,如果当前重链不存在目标,则直接跳到链底,这样外层就是 nlog 。
内部具体查找过程使用二分。

浙公网安备 33010602011771号