题解:SP6285 NGM2 - Another Game With Numbers
蓝有点过于虚高了。
Solution SP6285
Idea
因为
正难则反,我们考虑求
显然我们可以处理出每一个集合的每个数的
考虑容斥:显然
- 若
,则 。 - 若
,则 。
于是做完了。
Code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=15;
int n,k;
ll a[N],ans;
int main(){
scanf("%d%d",&n,&k);
for(int i=0;i<k;i++){
scanf("%lld",&a[i]);
}
for(int i=1;i<(1<<k);i++){
ll res=1;
int cnt=0;
for(int j=0;j<k;j++){
if(i&(1<<j)){
res=res/__gcd(a[j],res)*a[j];
cnt++;
}
}
if(cnt&1)ans+=n/res;
else ans-=n/res;
}
printf("%d\n",n-ans);
return 0;
}
分类:
题解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】