暑假模拟16
暑假模拟16
\(T_A\) 九次九日九重色
最长上升子序列,预处理整除关系,树状数组维护,其中复杂度用到调和级数。
\[O(\sum_{i=1}^n \frac{n}{i} \times \log n) =O(n \times \log ^2 n)
\]
\(T_B\) 天色天歌天籁音
挂分最惨的一集。
贪心的策略显然,发现这样题目就变为求区间众数,属于比较典的题。
莫队,分块都有做法,没什么好说的。
讲讲神仙挂分,场上写回滚莫队,然后狂调不止,以前回滚写得少,发现一堆问题,终于调过大样例,还有点不放心,思考要不要写对拍,但我觉得数据应该够强,况且场上没时间也懒得写了。结果挂了 \(90pts\) ,因为最后输出答案,一共 \(m\) 个询问,我输出了 \(n\) 个数?(迷惑行为)
这确实是自己的问题,毕竟人家大样例都开到极限了。对于不同的代码有不同的问题,不要认为过了一组大样例就是AC。样例不一定是水,只是没有撞到各种逆天问题。(悲)我忏悔
\(T_C\) 春色春恋春熙风
dus on tree
树上启发式合并,复杂度达到了神奇的 \(O(n\ \log n)\)
考虑一些字符重排后可以形成回文串,当且仅当出现次数为奇数的字符个数为 \(0\) 或 \(1\)
从根节点出发,求出每个节点到根的异或和,用二进制表示奇偶性,开一个大小为 \(2^{22}\) 的桶维护最大深度(一定初始化为负无穷),具体过程如下:
先处理每个轻儿子,每次处理完都要清空桶(标记为负无穷!),以免对其他节点产生影响。再跑重儿子,不清空,直接继承重儿子的数据。然后再次遍历每个轻儿子,统计答案并不断更新桶,最后把当前节点的贡献统计上就好。
复杂度 \(O(23\times n \log n)\)。所有人都需要控制一下自己的常数