Solution Set - 数学相关
CF645F
利用 ,只要对每个数 ,求出 表示 的倍数数目,然后 就是答案。每加入一个数进行修改, 枚举因数即可。
CF724G
考虑一个连通块。随便取一棵生成树,则每条非树边带来一个环。从 到 的某条路径的异或和就等于生成树上 到 的路径的异或和再异或某些环的异或和。所以把所有环的异或和放进线性基,假设这线性基的大小是 。然后按位考虑,假设根到各个点路径的异或和中,第 位上有 个 , 个 。如果线性基中没有数的第 位是 ,那么这个连通块的这一位的贡献是 。如果线性基中有数的第 位是 ,则随便丢一个数和线性基中的数异或,第 位上一定是一半 一半 ,这时这一位的贡献就是 。求和即可。
CF1034C
设所有点权的和是 。考虑最终分成的块数,假设是 ,则每一块的和都是 。
可以给出唯一的一种构造:做拓扑排序,如果一个点的点权小于 则加到父亲,如果大于 则无解,如果等于 则不操作(相当于割掉了该点与父亲的边)。所以对固定的 ,终态要么不存在,要么唯一。
假设已经求出了 表示是否存在合法终态,则可以做DP: 表示最终分成 块的方案数(考虑到可以多次的限制)。那么问题就变成求 。
用上面给出的构造求 是不直接的,换一个思路。假设一个点 和父亲间的边被割断了,则 点的子树和 一定是 的倍数。由于分成 块,所以是 的倍数的 应该至少有 个(有一个点是根,虽然它没有父亲)。另一个几乎显然的事情是至多有 个 是 的倍数。所以 有 个 是 的倍数。
又有 ,所以直接统计 所有不超过 的倍数就可以了。至于时间复杂度,DP是单 的,后面这个统计显然没什么问题。
CF1603D
显然 ,则 。当 时,,所以当 时,。这样 都不用考虑。
一般情况下, 显然可以 DP 求:。我们尝试用四边形不等式把这个 DP 优化到 。
我们有
则
从而
有了这个式子,预处理 的前缀和,可以用整除分块在 的时间内求出 ,实际跑不满。同时我们可以证明 满足四边形不等式,这是因为
固定 ,这个函数显然是关于 单调不减的。
那么直接用分治优化即可。
CF1770F
神仙题。
首先由于对称性,我们知道 的满足条件的序列数与 无关。则 为偶数时答案肯定是 。
第二个想法是考虑容斥。假设长为 ,和为 ,按位或是 的子集(二进制下,下同)的所有数列异或和的异或和是 ,容易证明原问题的答案是所有满足 是 的子集的 的异或和。
问题转化为求 。按位考虑,因为已经假设了 是奇数,所以只用判断 的第 位是 的情况数是不是奇数。同时还要求按位或是 的子集。
先计算长为 ,和为 ,按位或是 的子集的数列数目。可以列出一个式子:。看起来没什么意义,但是联想到 Kummer 定理的推论: 是奇数当且仅当 是 的子集。所以上面这个式子就同余于 。而这个式子是范德蒙恒等式的 元情形,它就等于 。
对于 第 位是 的限制,会发现要求变成了 是 的子集(当然还要求 的第 位等于 ),所以上面那个组合数会变成 。如果它是奇数,那么对答案贡献 (异或)。
综上,枚举 和 即可。这里的 是题目中 的子集。
CF1656H
重写目标,我们需要找到两个非空集合 ,满足 。
这个目标等价于(记 为质数集)
这个式子又可以变形为
且
两个条件分别等价于
接下来来设计算法的整体框架。初始令 。如果发现某个 或 使上面的条件不成立,那么就删去它,它肯定不能存在于最后的答案中(显然删掉更多不会让它可行)。删到不能再删为止,如果此时删空了一个集合就表明无解,否则留下的就是解。
,我们可以在删去一个数的时候暴力枚举另一个集合中的数,计算影响。但是 并不可减,因此可以使用一个线段树维护,删掉一个数就把对应位置改为 ,用全局 比较即可。
时间复杂度 (视 同阶),在这题 10s 的时限下不是问题。
CF986F
显然只需要考虑 的素因数。
如果没有,显然为 NO。
如果只有 个 ,判断 是否是 的倍数即可。
如果恰有 个 ,用 exgcd 判断即可。
如果至少有 个,则最小的一个 。考虑经典的同余最短路模型,把 看作点,对每个素因数 ,从 向 连边,边权为 。则能凑出 的条件是 。
使用 dijkstra 求最短路可能超时,但其实不需要,因为模运算具有良好的性质,所以可以钦定先走边权 的边,再走边权 的边,以此类推。对于每个 会把整个图连成一个环,在环上转两圈更新最短路即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具