[CF1878F] Vasilije Loves Number Theory 的题解
题目大意
令
- 给定
,令 。同时询问是否存在一个正整数 满足 且 。 - 将
还原为最初的值。
数据保证任何时刻,
思路
因为题目其实并没有要求输出
因为
假设
对于这个性质,我们可以感性的理解一下:对于每一个质因子,我们可以选
如果满足
对于
因为
对于
因为题目要求
AC Code
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,q;
map<int,int> mp,mp1;
void solve() {
cin>>n>>q;
for(int i=2;i*i<=n;i++) {
while(n%i==0){
mp[i]++;
n/=i;
}
}
if(n>1){
mp[n]++;
}
mp1=mp;
for (int i=1,op,x;i<=q;i++){
std::cin>>op;
if(op==2){
mp=mp1;
continue;
}
cin>>x;
for(int j=2;j*j<=x;j++) while(x%j==0) mp[j]++,x/=j;
if(x>1) mp[x]++;
int cnt=1;
for(auto i:mp) cnt*=(i.second+1);
bool flag=1;
for(int j=2;j*j<=cnt;j++){
int sum=0;
while(cnt%j==0) sum++,cnt/=j;
if(sum>mp[j]){
flag=0;
break;
}
}
if(cnt>1&&!mp[cnt]||!flag) cout<<"NO\n";
else cout<<"YES\n";
}
mp.clear();
cout<<'\n';
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin>>t;
while(t--) solve();
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下