暴力题解
2025-06-16 19:51:40
发布于:北京
37阅读
0回复
0点赞
笑点解析:赛时没看数据范围写的然后 AC 顺便首 A
思路
直接暴力分解质因数( 的 PR 懒得调了),然后使用 set
维护即可。
时间复杂度为 (我补刀啊瞎猜的)
代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a,i;
set<int> s;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a;
for(int j=2;j*j<=a;j++)
{
if(a%j==0)
{
s.insert(j);
while(a%j==0)a/=j;
}
}
if(a>1)s.insert(a);
}
cout<<s.size();
return 0;
}
全部评论 1
并非暴力。事实上, 最多只有 个不同的质因子(因为 ),加上 的一只 ,应该是 ,大约是 ,而 ,所以是可以稳定跑过的,怎么卡都卡不掉
2025-07-03 来自 北京
0哦对了忘记最重要的一点 常数小是可以随便跑过 1e9 的
2025-07-03 来自 北京
0哦还有经实测质因数分解的常数似乎只有 ,总体是 且常数小,当然是可以过的
2025-07-03 来自 北京
0666
2025-07-03 来自 北京
0
有帮助,赞一个