5.31 考后总结
时间安排
7:10--8:30 读题。T1感觉如果不是贪心就做不了,T2数据结构, T3大概有一个爆炸的\(nm^3k^7\) 的做法。
8:30--9:40 T1,写一下贪心发现是对的。考虑优化,有树剖套树套树,3个log几乎过不了。
9:40--10:10 T2,暴力。印象里车上调了一路调不出来就不太打算写了。
10:10--12:00 T3,首先有个枚举 m 的 做法,对于 m=1e9 的数据应该可以上个拉插什么的。有一个暴力的 dp 不过复杂度太高,后来意识到需要转移的区间貌似只有 \(O(K)\) 左右。用 hash 桶实现。
回顾反思
T1:
以由集合 G 向集合 P 添加为例,贡献的变化很难一一维护,但是全部列出来后发现困难的部分可以化简为常数,于是就可以做了。
赛时没有发现这个。分析的时候要把贡献清晰写出来。
T2:
容斥。
不交取补变为求有交。
有交容斥为交 1 边 - 交 2 边 + 交 3 边。
订的时候出乎意料的顺。
T3:
求中位数一个思想是枚举答案 x 后,小于 x 的看成 -1 ,等于的看成 0 ,大于的看成 1 ,于是只有三种可能。
注意是否每个转移阶段都有用。这里包含 K 哥关键点的转移阶段只有 O(K) 个。
订题的时候:
35 T ->30 ,其他点只有 50ms 左右,却 T 了一个点很奇怪,检查了快读负数什么的都判了。尝试了改成 scanf 就过了。问了其他同学有同样的问题。怀疑是数据问题。
50 T->35 ,检查貌似没有 RE 之类的错误。参考了其他同学的 DP 方式优化了 DP 常数,没啥用。然后把一个地方的 vector 换成 数组实现,直接快了 1s 多。
50一直 WA 35 。打表发现数组取 min 后清一色的都是 INF=1e8 。发现 INF 开小了,应该是值域上界 1e9 ,导致一直 WA ,50->35
然后是题解看漏了一页,少了个优化,(我还奇怪复杂度为什么这么紧张), 100-> 50 。

浙公网安备 33010602011771号