腾讯笔试 3-26

第五题,求所有公约数为k的子集个数。
求问各位大佬怎么做的。
全部评论
先处理掉不是k的倍数的元素,剩下的先默认除以k,然后容斥一下,发现加的部分和减的部分莫比乌斯函数有关系,筛一下就行了
3 回复 分享
发布于 2023-03-26 22:30 天津
我的思路是,求所有是k的倍数的个数,然后看有没有不是k倍数的数,结果排列组合的时候要用到一个简单的二项式定理。
1 回复 分享
发布于 2023-03-26 22:32 陕西
莫比乌斯反演或者容斥+莫比乌斯函数
点赞 回复 分享
发布于 2023-03-28 09:57 北京
dp就行吧 f[i] 表示最大公约数为i的方案数 容量只需要枚举k的倍数就行(否则会超时) 状态转移f[__gcd(a[i], j)] += f[j]
点赞 回复 分享
发布于 2023-03-26 22:41 河南

相关推荐

码砖:求职岗位要突出,一眼就能看到,教育背景放到最后,学校经历没那么重要,项目要重点突出
点赞 评论 收藏
分享
昨天 16:37
门头沟学院 Java
哎,继续加油吧
ResourceUt...:能接到面试就已经是✌🏻了
腾讯一面2190人在聊
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务