专栏文章
题解:P3791 普通数学题
P3791题解参与者 3已保存评论 3
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mioqew0t
- 此快照首次捕获于
- 2025/12/02 23:27 3 个月前
- 此快照最后确认于
- 2025/12/02 23:27 3 个月前
前言
在课上 @grass8cow 老师表演了 5min 切黑,可惜失败,被卡常了,好在卡了15min 后过去了 %%%
正文
简要题意
给定 求
表示为 的约数个数。
解法
首先你会发现异或这个运算非常恶心,对于直接求约数十分困难。
不如考虑拆贡献!
对于每一个可能是出现的 ,我们将它设为 ,设它的出现次数为 设所有可能出现的 的集合为 。
那么问题的答案就变为 。
对于枚举异或运算可能会出现的数,我们很容易想到数位dp
我们因为 是固定的,我们先不考虑它,然后将 拆成 和 ,再考虑朴素的从上往下 dp。
分别设后面 和 的后 与 位顶着上限,而第 与 位小于上限,则剩下的位置都可以随便填!
为了讨论方便,我们不妨定义一下 和 的位置关系,。
对于前 时,后面的部分,两个数都能随便取,有 种情况,对于异或完之后这部分所有的 情况都能取到,所以每种数出现过 次。
当在 时 是固定的,而 随便取,有 种情况,显然对于异或完还是能取到所有的 情况,所以每种数出现过 次。
对于后面的只有一种情况,且仅出现 次。
最后还有个小尾巴,求 !
求 其实是幼儿园数学题,非常好求。
这个显然可以数论分块!
总复杂度
注意常数!小心不要像牛吃草老师被卡常!
相关推荐
评论
共 3 条评论,欢迎与作者交流。
正在加载评论...