Solution Set -「LOCAL」冲刺省选 Round XI
省选几个小时啊,怎么模拟赛只打三个小时啊。/kk
时间安排较为合理,没有出现严重的因思考时间过少引起的丢分。
A 题比较可惜,二分 + 点分治大概想了一下就叉掉了,再后来就没再想起二分。骗分的时候 Manacher 又写假了,笑死,字符一定要调整成 ^|a|a|a|a|
的形式,前后的 |
都不能少。
B 题要是出在所谓“Burnside 算法练习题”里,估计还有挣扎的余地,Burnside 相关的东西确实不熟悉,依靠并不扎实的线代推了一会儿果断暴力 ,问题不大。
C 题比较舒服,从比题解不知道简单多少的角度猜想并证明了关键结论,由于 Min_25 筛忘得很彻底,而且暴力 非常舒适,所以线性筛写了就走,问题不大。
表现中规中矩叭。
Contest link. (private)
我醉
给定一棵含 个结点的边带权的树,求树上最长回文路径长度。 。
分奇数偶数情况分别二分,现考虑检验是否存在长度为 的回文路径。点分治,从分治中心扩展,用长度 的一侧路径更新答案。现在问题形如判断 AxBC
是否是回文(其中 指分治中心结点,不是字符;),对 维护 hash 桶,对 动态更新前缀的正向 hash 和反向 hash 即可 判断(假定桶为 )。最终复杂度为 ,巨大卡常。
值得一提的乱搞:拆边使得回文中心在点上,从每个点 BFS,保证每个队列里的点都有与之构成回文的点。虽然在所有字符一样等平凡的情况就会 ,但这种不难写、迎合某竞赛组织数据水、不绑点的尿性的暴力还是有意义的。
梧桐依旧
给定 和素数 ,求在模 意义下,有多少 的矩阵对 满足 。答案模 。 。
第一步转化不太显然: 可以视作变换 下的不动点,继而引入 Burnside 引理:
可以验证所有可能的 构成群。套用公式,我们只需要求出
对于 ,即 维满秩矩阵的数量。依次枚举列向量,当前列向量的限制有且仅有:不落在已有列向量张成的空间内。而 个线性无关向量张成的空间大小显然是 ,因此
对于 ,即所有 在行变换意义下的等价类数量。分 讨论,设 ,可以钦定 的前 个行向量构成 的行空间的基,取它们构成 的矩阵 。枚举 的行变换 ,那么可重集 中,每个 恰出现 次,继而可知每个等价类的大小都是 ,所以
最终有
求所有分母的逆元,最终复杂度 。
卿且去
给定 。令 表示在集合 中最多能选出多少个不存在整倍数关系的数。求
答案对 取模。 。
注意和式中的 的参数集合 满足:若 ,则 。因此可以猜测, 的值为 。通过说明对于任意选取的集合 ,若有 ,那么取出最大的满足条件的 ,都有 成立,即可证明。
因此,我们只关心 内的数在多少个 中出现。记 表示 的素因子数量, 表示不超过 的素数数量,那么答案为
显然积性,所以其前缀和可以与 一并由 Min_25 筛求出来。复杂度 。
你(我)Min_25 忘干净啦?怪不得只有 。你应当赎罪。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现