2022.8.9模拟赛简要题解
2022.8.9模拟赛简要题解
A
做个最小生成树,每当某个并查集与1所在并查集相连的时候,就用当前边乘上这个并查集大小
B
显然前缀并查集。每次把 与 并起来,两个点加入在同一个并查集里面说明它们之间的异或和已定
判断是否合法要维护当前点到祖先的异或值,两点到祖先的异或和相当于就是两数之间的异或和
实现过程对并查集进行一些小改动即可
C
由于 ,考虑根号做法,尝试对 进行根号分治
- 如果 ,这样的 必然不超过 个,可以预处理,复杂度
- 如果 ,这种情况下最多跳 步就结束,直接暴力模拟,复杂度
总复杂度
D
考虑枚举左端点,如果左端点确定,我们把左端点前面的数的贡献都记为0,后面每个数 如果第一次出现贡献就记为 ,第二次出现记为 ,再后面出现记为0
此时我们就相当于在求前缀和最大值,因为每个数如果出现一次就得了 ,出现两次以上又得了 ,互相抵消后相当于0
我们可以拿个线段树维护,每次维护区间和和区间前缀最大值,区间前缀最大值可以是左区间前缀最大值或者是左区间之和加上右区间前缀最大值
每次直接统计总体前缀最大值,事实上线段树我们只需要写一个单点修改即可
复杂度
本文来自博客园,作者:zhangtingxi,转载请注明原文链接:https://www.cnblogs.com/zhangtingxi/p/16565280.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!