23/10/28 模拟赛总结

发布时间 2023-10-30 11:28:02作者: cannotdp

时间安排

7:35-8:00

正序开题,20 min 写完 T1。

8:00-9:30

想 T2。先打了爆搜,然后想怎么 DP。设计了一个状态,转移是 \(O(n^3)\) 的。

9:30-10:30

假了。想了很长时间,去掉了一个错误转移,大概是对了。并把时间复杂度搞到了 \(O(n^2)\),但是空间复杂度还是 \(O(n^3)\);

10:30-11:00

输出是样例的两倍,而且手造了几组小数据输出也是正确答案的几倍。打表找规律发现最后除以一个组合数就行了,能过样例。

11:00-11:30

转移只需用到上一次的结果,因此使用滚动数组优化。但是滚动数组没清空调了 20 min。

11:30-11:50

看 T3,T4。写了 T4 的链。

总结反思

  1. 每次 DP 题花费的时间都特别长,最不擅长的就是 DP。

题解

A.Stern-Brocot Tree

简单题。

B.礼物

不算很难的 DP。

C.魔法世界

把询问挂在右端点,考虑左端点的情况,使用主席树维护。

D.捡球

记录最低点和初值(0)的差值 \(p\),以及终值和最低点的差值 \(g\)
维护 \(x\) 子树内,最优秀的联通块序列,它同时满足以下三个条件:
• 是按照拓扑序排列的,即我们可以按顺序依次访问。
• 每个联通块都满足 \(g\)>\(p\)
\(p\) 从小到大单调
dus on tree。