当前位置: 首页 > news >正文

酒店预定类网站建设郑州做网站找绝唯科技

酒店预定类网站建设,郑州做网站找绝唯科技,长春智联招聘网最新招聘,在国外服务器上做网站项目如何赚钱题意:给定一个序列,求的方案数,其中,,i和j属于两个不同集合内。 解法:考虑怎样必须将某几个数放进一个集合里。如果数列中全是1,那么每个数都是独立的,也就是可以随便拿出这之中的数…

题意:给定一个序列,求gcd(x,y)=1的方案数,其中x=\prod aiy=\prod aj,i和j属于两个不同集合内。

解法:考虑怎样必须将某几个数放进一个集合里。如果数列中全是1,那么每个数都是独立的,也就是可以随便拿出这之中的数字来组合集合,方案数\sum_{i=1}^{sum-1}C(sum,i),其中C(x,y)=fac[x]*inv[y]*inv[x-y],也就是2^{sum}-2

不难发现通性。如果两个数有质因子相同,那么它们一定不能在不一样的集合之中(要满足互质条件)。所以2,3,6;2,3,9;这一类数中有效的数只有两个点。也就是把所有有公共质因子的数放到一起。结合质因数分解,复杂度O(nlogn)

错误点:

1.小范围数ai<=1e6可以暴力筛出所有质数,记录每一个质数因子的对应质数,pri[i*j]=i,分解时直接分解pri[x]即可,可以做到O(logn),比O({n_{}}^{1/2}{})O(n)的分解优秀许多

2.所有的1都要保留,其他根据公共质因子并查集合并

#include<bits/stdc++.h>
#pragma GCC optimze(3)
#define int long longusing namespace std;const int N = 1e6 + 10, mod = 1e9 + 7;int n,a[N],t[N],fa[N],minn[N];
vector<int> cnt[N];
map<int,int> mp;
int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')  f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
int _find(int x){if(fa[x]==x)  return x;else return fa[x]=_find(fa[x]);
}
int poww(int a,int b){int res=1;while(b){if(b&1)  res=(res*a)%mod;  a=(a*a)%mod;b>>=1;}return res;
}
bool vis[N];
int pri[N],si;
void ai(){for(int i=2;i<=N;i++){if(!vis[i]){vis[i]=true;pri[++si]=i;mp[i]=si;for(int j=1;j<=N/i;j++){vis[i*j]=true;minn[i*j]=i;}}}
}void marge(int x,int y){int f1=_find(x),f2=_find(y);fa[_find(x)]=_find(y);
//	cout<<x<<" "<<y<<" "<<f1<<" "<<f2<<endl;
}
void solve(){memset(fa,0,sizeof fa);n=read();for(int i=1;i<=si;i++)  cnt[i].clear();memset(t,0,sizeof t);int mx=0;for(int i=1;i<=n;i++)  a[i]=read(),mx=max(mx,a[i]);int ans=0,sum=0;for(int i=1;i<=n;i++){int x=a[i];while(x>1){int fac=minn[x];//	cout<<fac<<' '<<x<<endl;while(x%fac==0){cnt[mp[fac]].push_back(a[i]);x/=fac;}}}
//	cout<<_find(6)<<"CCf";for(int i=1;i<=n;i++)  fa[a[i]]=a[i];   for(int i=1;i<=si;i++){for(int j=1;j<cnt[i].size();j++){int x=cnt[i][j-1],y=cnt[i][j];//cout<<x<<" "<<y<<endl;marge(x,y);}}for(int i=1;i<=n;i++){int x=_find(a[i]);//cout<<x<<" ";if(!t[x]||x==1){sum++;t[x]++;}}//cout<<sum<<endl;ans=(poww(2,sum)%mod-2+mod)%mod;cout<<ans<<endl;
}
signed main(){ai();int T;T=read();while(T--)  solve();	return 0;
}

http://www.yayakq.cn/news/688391/

相关文章:

  • 邯郸网站建设开发公司怎么在百度上做免费网站
  • 湖南智能网站建设哪家好建设自己网站的流程
  • 佛山网站建设科技有限公司专业网站制作公司是如何处理一个优秀网站的
  • 简洁风网站百度主页
  • 雇人做淘宝网站多少钱网站备案取消 后果
  • 喜满堂网站建设3分钟宣传片制作费用
  • 营销网站 需求说明书换域名对网站的影响
  • 教育与培训网站建设汕头市澄海建设局门户网站
  • 简易的网站模板网站平台建设需要哪些人员
  • 免费建设网站的好么淘宝网店怎么运营起来
  • 新加坡网站大全什么软件可以制作图片加文字
  • 网站建设与网站开发网站空间 哪个公司好
  • 关键词采集网站南昌专业的企业网站开发公司
  • 营销策划公司名字大全seo关键词优化举例
  • 石家庄网站设计制作工信部网站备案怎么登录
  • 网站建设维护 微信深圳设计品牌网站
  • 小企业如何优化网站建设北京网站快速排名优化
  • 烟台网站制作这域名注册人查询
  • 做网站php都用什么框架怎么导入wordpress模板
  • 营销论坛网站建设wordpress制作专题
  • 做外贸要建什么网站舆情监测平台
  • 做竞争小的网站网站和域名的关系
  • 单位做网站支出应怎么核算二手网站建设模块
  • 做量化投资网站外贸网站网站建设
  • 在哪个网站上找超市做生鲜优化手机网站
  • 知名的设计公司网站WORDPRESS免费中国主题
  • 建设银行黑龙江省分行官方网站平台不得诱导下载
  • 丹阳网站建设制作哈尔滨网站制作工程
  • 外贸网站平台都有哪些 免费的河源市seo点击排名软件价格
  • 网站建设和空间结婚证一键制作