网络网站推广首荐乐云seo计算机专业做网站运营
网络网站推广首荐乐云seo,计算机专业做网站运营,wordpress付费阅读chajian,腾讯云 wordpress教程正题 题目大意
将nnn个数分为222个非空的集合#xff0c;要求两个集合内数的乘积的gcdgcdgcd为111。求方案数 解题思路
拥有相同质因子的数一定要在同一组#xff0c;枚举质因数然后将拥有的数都用并查集合并然后用联通块数量来求即可。 codecodecode
#includecstdio要求两个集合内数的乘积的gcdgcdgcd为111。求方案数 解题思路
拥有相同质因子的数一定要在同一组枚举质因数然后将拥有的数都用并查集合并然后用联通块数量来求即可。 codecodecode
#includecstdio
#includecstring
#includealgorithm
#define ll long long
using namespace std;
const ll N1e610,XJQ1e97;
ll n,fa[N],T,cnt,vis[N];
bool v[N];
ll find(ll x)
{return (fa[x]x)?x:(fa[x]find(fa[x]));}
void uniquee(ll x,ll y){ll Fafind(x),Fbfind(y);if(FaFb)return;if(FaFb)fa[Fb]Fa;else fa[Fa]Fb;
}
int main()
{scanf(%lld,T);while(T--){memset(vis,0,sizeof(vis));memset(v,0,sizeof(v));scanf(%lld,n);cnt0;int z0;for(ll i1;in;i){ll x;scanf(%lld,x);if(x1)cnt;if(vis[x]||x1)continue;vis[x]z;fa[z]z;}vis[0]0;for(int i2;i1e6;i){if(v[i])continue;int last0;for(int ji;j1e6;ji){v[j]1;if(vis[j]){if(vis[last])uniquee(vis[last],vis[j]);lastj;}}}for(int i1;iz;i)if(find(i)i)cnt;long long k1;for(ll i1;icnt;i)kk*2ll%XJQ;printf(%lld\n,(k-2llXJQ)%XJQ);}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91516.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!