5.12模拟赛赛后总结

5.12模拟赛赛后总结

赛时历程

早上8:05,预处理结束。

开始看T1,题意比较奇怪,花了时间理解了之后发现30分暴力特别好写,正解的瓶颈可能在数的处理上,或者说有我不知道的trick。

8:45打完了暴力。然后开始看后边的题。

太难了,自闭良久,T2的10分能全排列吧,但是好像有点难处理。

10:00的时候尝试T3。 先尝试了一个dfs,发现复杂度爆炸。

已经11:00了,然后尝试了一个双指针,有骗分的成分,赛后发现果然WA了。

最后想搞区间DP,但是搞到只剩转移的时候,就剩两分钟,心态炸了。

30分爬了。

赛后发现

1 中午睡醒后发现T3就差一个转移方程。而且一分钟就能搞定。不过就算有了这30分也不会提高我的名次。

2 T1使用set来存储二进制位。毕竟只有1e5个位上有数字。

3 这套题金牌选手一个半小时就AK了。

4 还是菜。不过得保持好心态。不然只能更菜。稳定输出应该会好起来的。

简单题解

想着得做一道就通一道题的思路。所以打算在简单题解多总结一点trick。

T1 启发式合并,二进制的集合表示。

​ 虽然这道题内的数值是(2^{10^{18}})级别的,但因为数全是准确的单个2次幂,所以可以考虑只存这个点上集合的二进制位的集合,为了保证有序,要采用set来存储,这样就能够进行这道题需要的数值的加和以及大小的比较了。

T3 是利用SAM结构进行的状态转移,然鹅我SAM学艺不精,感觉看着有点含糊。等复习一波SAM再来。

(待删除的tag,到订完T3删除)

原文地址:https://www.cnblogs.com/mikuo/p/14761287.html