hdu 5833 Zhu and 772002 (高斯消元)
复制代码
//aaaaa自己的代码疯狂Wa,偷来卿学姐的代码 #include<bits/stdc++.h> using namespace std; const int maxn = 2005; const int mod = 1e9+7; int p[2005],cnt,vis[2005],cas; void init(){ for(int i=2;i<maxn;i++){ if(vis[i])continue; p[cnt++]=i; for(int j=i;j<maxn;j+=i) vis[j]=1; } } bitset<330> A[305]; void solve(){ for(int i=0;i<305;i++) A[i].reset(); int n; scanf("%d",&n); for(int i=0;i<n;i++) { long long x; scanf("%lld",&x); for(int j=0;j<cnt;j++) { if(x%p[j]==0) { int flag = 0; while(x%p[j]==0) { x/=p[j]; flag^=1; } A[j][i]=flag; } } } int i=0,j=0; for(i=0;i<n;i++) { int id=-1; for(int k=j;k<cnt;k++) { if(A[k][i]) { id=k; break; } } if(id==-1)continue; swap(A[j],A[id]); for(int k=j+1;k<cnt;k++) { if(A[k][i]) A[k]^=A[j]; } j++; } //cout << "j:" << j << endl; int ans = 1; for(int i=0;i<n-j;i++) ans = ans * 2 % mod; printf("Case #%d:\n%d\n",++cas,ans-1); } int main(){ init(); int t; scanf("%d",&t); while(t--){ solve(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2017-09-11 hdu6195 cable cable cable(from 2017 ACM/ICPC Asia Regional Shenyang Online)
2017-09-11 hdu6201 transaction transaction transaction(from 2017 ACM/ICPC Asia Regional Shenyang Online)